1. 程式人生 > 其它 >python 檔案讀取,readlines()方法去除返回列表中\n 去除檔案字尾名

python 檔案讀取,readlines()方法去除返回列表中\n 去除檔案字尾名

1、使用datax工具將mysql資料庫中的資料同步到elasticsearch中。DataX目前已經有了比較全面的外掛體系,主流的RDBMS資料庫、NOSQL、大資料計算系統都已經接入,目前支援資料如下圖:

型別資料來源Reader(讀)Writer(寫)文件
RDBMS 關係型資料庫 MySQL
Oracle
SQLServer
PostgreSQL
DRDS
通用RDBMS(支援所有關係型資料庫)
阿里雲數倉資料儲存 ODPS
ADS
OSS
OCS
NoSQL資料儲存 OTS
Hbase0.94
Hbase1.1
Phoenix4.x
Phoenix5.x
MongoDB
Hive
Cassandra
無結構化資料儲存 TxtFile
FTP
HDFS
Elasticsearch
時間序列資料庫 OpenTSDB
TSDB

可以看到Elasticsearch只支援寫,但是不支援讀的,如果支援從Elasticsearch讀出來,寫到mysql也是很好的哦!

2、datax的安裝,配置就不寫了,之前搞過,現在需要搞一個mysql寫到elasticsearch的json。

 1 {
 2     "job": {
 3         "setting": {
 4             "speed": {
 5                 "byte": 8388608,
 6                 "
channel": 3 7 }, 8 "errorLimit": { 9 "record": 0, 10 "percentage": 0.02 11 } 12 }, 13 "content": [{ 14 "reader": { 15 "name": "mysqlreader", 16 "parameter": { 17 "username": "賬號", 18 "password": "密碼", 19 "column": ["appkey"], 20 "connection": [{ 21 "table": ["資料表名稱"], 22 "jdbcUrl": ["jdbc:mysql://ip地址:埠號/資料庫名稱"] 23 }] 24 } 25 }, 26 "writer": { 27 "name": "elasticsearchwriter", 28 "parameter": { 29 "endpoint": "http://ip地址:9200", 30 "index": "shared_log", # 索引的名稱 31 "type": "doc", # 型別的名稱 32 "cleanup": false, #true表示插入前清空,即覆蓋同步;false則追加同步 33 "dynamic": true, #這裡一定要指定為true,否則使用的是datax的模板,而不會使用es的模板 34 "settings": { 35 "index": { 36 "number_of_shards": 12, # 分片的數量 37 "number_of_replicas": 0 # 副本的數量 38 } 39 }, 40 "batchSize": 10000, 41 "splitter": ",", 42 "column": [{ 43 "name": "appkey", # 欄位名稱 44 "type": "keyword" # 欄位型別 45 }] 46 } 47 } 48 }] 49 } 50 }

注意,需要搞一個elasticsearchwriter外掛,將elasticsearchwriter外掛放在datax\datax\plugin\writer。

關於elasticsearchwriter外掛的打包方式引數:http://www.bubuko.com/infodetail-3663894.html