1. 程式人生 > >將mysql資料導為csv再匯入到mongodb中

將mysql資料導為csv再匯入到mongodb中

shell指令碼 mysql2mongodb.sh



#[[email protected] tmp]# vim mysql2mongo.sh 

mysql -h127.0.0.1 -uroot -p123456 -P3306 -N -e "  
SELECT CONCAT(' SELECT ',GROUP_CONCAT( CONCAT('',c.COLUMN_NAME ,'') ORDER BY c.ORDINAL_POSITION), 
 ' FROM  ', c.TABLE_SCHEMA,'.', c.TABLE_NAME, ' INTO OUTFILE ''/tmp/',c.TABLE_SCHEMA,'.', c.TABLE_NAME ,'.csv'' FIELDS TERMINATED BY '',''  OPTIONALLY ENCLOSED BY ''\"''  ;') dbTable
FROM information_schema.COLUMNS c
WHERE c.TABLE_SCHEMA = 'dsp_ad_center'
GROUP BY c.TABLE_SCHEMA , c.TABLE_NAME
" >/tmp/mysql2csv_todo.sql

cat /tmp/mysql2csv_todo.sql | while read -e LINE
do
#echo $LINE
mysql -h127.0.0.1 -uroot -p123456 -P3306 -N -e "$LINE"
done

rm -rf /tmp/mysql2csv_todo.sql

# ################################################################################################################################################################################

mysql -h127.0.0.1 -uroot -p123456 -P3306 -N -e "
SELECT CONCAT('./mongoimport -h 127.0.0.1:27017 -d \"' ,c.TABLE_SCHEMA,'\" -c \"',c.TABLE_NAME ,'\"  -f \"',GROUP_CONCAT( CONCAT('',c.COLUMN_NAME ,'') ORDER BY c.ORDINAL_POSITION),  '\" --type=csv --file=/tmp/', c.TABLE_SCHEMA,'.', c.TABLE_NAME,
 '.csv') dbTable
FROM information_schema.COLUMNS c
WHERE c.TABLE_SCHEMA = 'dsp_ad_center'
GROUP BY c.TABLE_SCHEMA , c.TABLE_NAME
" > /tmp/mongo-todo.sql
cd /usr/local/mongodb/bin

cat /tmp/mongo-todo.sql | while read  LINE
do
echo $LINE
$LINE
done

rm -rf /tmp/mongo-todo.sql
rm -rf /tmp/dsp_ad_center.*csv



#執行時不返回訊息 sh mysql2mongo.sh >/dev/null 2>&1
有問題,如果本身csv中就包含jason  

或是其他特殊字串,可能會匯入不成功

相關推薦

mysql資料csv匯入mongodb

shell指令碼 mysql2mongodb.sh #[[email protected] tmp]# vim mysql2mongo.sh mysql -h127.0.0.1 -uroot -p123456 -P3306 -N -e " SELECT

利用pythonjson資料轉換csv格式

假設.json檔案中儲存的資料為: {"type": "Point", "link": "http://www.dianping.com/newhotel/22416995", "coordinates": [116.37256372996957, 40.

QtSqlite的表資料匯出CSV格式表格資料

開發環境ubuntu16.04+Qt5.6.1   WIN7+Qt5.6.1兩個環境都測試過 1.問題 寫一個小軟體的時候,帶有匯出excel功能,但是要在linux下執行,最後瞭解到csv格式,實現起來方便多了,只是用excel開啟中文有亂碼的現象有一個簡單的解決辦法。 2.

使用sqoopmysql 資料匯入hdfs時各種報錯

資訊 18/06/29 10:45:08 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLExcepti

通過sqoopmysql資料匯入到hive進行計算示例

hive計算示例 先將資料通過sqoop從mysql匯入hive,在hive執行mysql的查詢語句,得到與mysql一樣的執行結果 步驟: mysql資料準備 account賬號表 detail收支資料表 CREATE TABLE

mongodbmysql資料匯入

1、首先將資料從mysql資料庫匯出為xls檔案 SELECT * FROM user INTO OUTFILE "F:\1.xls" 2、notepad++開啟,用utf8編碼儲存資料   3、使用wps或者cvs開啟檔案,並以.cvs格式儲存資料   4、在w

C#資料儲存CSV檔案格式

/// 將資料以CSV格式儲存 /// ",表示移動到同一行的下一格" /// "\r\n"表示移動到下一列 /// </summary> /// <param name="sender"></pa

Java使用poi讀取excel資料(excel可能很大,先轉換csv讀取)

————————————配置———————————— jdbc.properties中加入: excelUrl=/……xlsx檔案目錄路徑/ (excelUrl + “xxxx.xlsx” 為完整路徑) 匯入poi-3.16下的6個jar包,poi-3.16/l

oracle ebs + PL/SQL實現查詢出來的資料儲存csv格式檔案,並定期上傳到FTP伺服器學習總結

目的 oracle ebs + PL/SQL實現將查詢出來的資料儲存為csv格式檔案,並定期上傳到FTP伺服器。 用到oracle utl_file包,FTP檔案上傳 第一次接觸這種型別的任務,也是在網上查詢了很多參考資料才弄出來。 下面是具體的例子。

sqoopMysql資料匯入Hive

注:筆者用的是sqoop1.4.6版本 一、將Mysql資料匯入Hive中 命令: sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true --con

sqoophive資料mysql報錯:Unsupported major.minor version 52.0

        離線分析需要將hive的資料匯入到mysql做視覺化,導資料時報錯,檢視log:發現jdk版本原因,sqoop shell命令會用系統jdk編譯成jar包,然後用cdh的jdk跑map將資料導到mysql.            檢視jdk(jdk1.7為報錯

爬蟲資料儲存csv檔案時,表格間隔有空行問題

問題描述:將爬取的資料儲存的csv檔案,遇到幾個問題,原始碼如下: with open('F:\\Pythontest1\\douban.csv','w') as f: writer = csv.writer(f,dialect='excel') writer.writero

python3json格式轉換csv格式

[1957, 1934, 2013, 1890, 1974, 1880, 1976, 1944, 1900, 1978, 2002, 1986, 1886, 1951, 1992, 1929, 1965, 1942, 1997, 1981, 1955, 2014, 1954, 1903, 2004,

利用python mysql 資料進行抽取並清理成標準格式後 存入MSSql 資料

from pymongo import MongoClientfrom pymysql import connectimport pymssqlfrom datetime import datetime, timedeltaimport time Nagios 資料庫的IP 地址 NagiosDB_IP

扁平資料轉換tree型資料

<script type="text/javascript"> var meun_list = [ { id:'1', meun_name:'設定', meun_url:'', parent_id:0 }, {

mysql資料匯入mongodb

# 把mysql資料庫中的資料匯入mongodb中 import pymysql import pymongo # 建立mysql的資料庫連線 con = pymysql.connect(host='localhost', port=3306, user='root', password='12345

表格資料處理帶【】的資料

首先,將需要用到的表格資料在Excel中處理一下,將空著的格子中填入0,具體操作,參見 之後將需要融合的列資料的每一列單獨儲存在檔案中(直接選中列,複製貼上)。 Java部分的核心程式碼:     public static void main(String[] ar

用logstashmysql資料同步到 elasticsearch

最近需要同步mysql資料到ES,參考了 這篇文章,遇到幾個問題 第一個是jdbc驅動路徑 jdbc_driver_library => "../mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-b

python3 使用openpyxlmysql資料寫入xlsx

程式設計的生活愈發不容易了,工作越來越難找,說多了都是淚還是給大家貢獻些程式碼比較實際。 python3 連結資料庫需要下載名為pymysql的第三方庫 python3 讀寫xlsx需要下載名為openpyxl的第三方庫 在此我只貢獻連結資料庫和寫入xlsx的程式碼 import p

如何MySQL GR 設定多主模式

在MySQL 5.7.17版本中釋出的MySQL Group Replication(後文簡稱為MGR)被很多人稱為MySQL複製方案的正規軍,可以一舉取代現在的MySQL Replication,Semisynchronous replication,甚至是可以取代之前最成功的MySQL叢集方案G