添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
刚分手的马铃薯  ·  ASP.NET Web Forms | ...·  1 年前    · 
稳重的刺猬  ·  Asp.net ...·  1 年前    · 

前期准备
a.下载并配置DataX,见官网
b.有hive环境和mysql库

0.注意事项

a . mysql数据导入到hive connection 中的 jdbcUrl 必须是个list,也就是要加中括号
b . hive数据导出到mysql connection 中的 jdbcUrl 必须是string,也就是别加中括号
c . hive数据导出到mysql 中, hdfsreader 数据类型转化,hive中的TINYINT,SMALLINT,INT,BIGINT都对应LONG
d . hive数据导出到mysql 中,对于 hdfsreader 指定Column信息,type必须填写,index/value必须选择其一,默认情况下,可以全部按照String类型读取数据 “column”: ["*"]

1.mysql数据导入到hive(新建文件script/mysql2hive.json)
"job" : { "setting" : { "speed" : { "channel" : 2 "errorLimit" : { "record" : 0 , "percentage" : 0.02 "content" : [ "reader" : { "name" : "mysqlreader" , "parameter" : { "username" : "root" , "password" : "123456" , "column" : [ "id" , "name" , "age" , "city" ] , "splitPk" : "id" , "connection" : [ "table" : [ "t_user_info" ] , "jdbcUrl" : [ "jdbc:mysql://10.218.223.96:3306/test" ] "writer" : { "name" : "hdfswriter" , "parameter" : { "defaultFS" : "hdfs://10.218.223.97:8020" , "fileType" : "text" , "path" : "/user/hive/warehouse/test.db/h_user_info" , "fileName" : "mysql2hive" , "column" : [ { "name" : "id" , "type" : "TINYINT" } , { "name" : "name" , "type" : "STRING" } , { "name" : "age" , "type" : "INT" } , { "name" : "city" , "type" : "STRING" } "writeMode" : "nonConflict" , "fieldDelimiter" : "\t" , "compress" : "gzip"
cd $DATAX_HOME
python bin/datax.py script/mysql2hive.json
2.hive数据导出到mysql
"job": { "setting": { "speed": { "channel": 2 "errorLimit": { "record": 0, "percentage": 0.02 "content": [ "reader": { "name": "hdfsreader", "parameter": { "defaultFS": "hdfs://10.218.223.97:8020", "fileType": "text", "encoding": "UTF-8", "path": "/user/hive/warehouse/test.db/h_user_info/*", "column": [ {"index": 0,"type": "LONG"}, {"index": 1,"type": "STRING"}, {"index": 2,"type": "LONG"}, {"value": "南京","type": "STRING"} "fieldDelimiter": "\t", "compress":"gzip" "writer": { "name": "mysqlwriter", "parameter": { "writeMode": "insert", "username": "root", "password": "123456", "column": ["id","name","age","city"], "session": ["set session sql_mode='ANSI'"], "preSql": ["delete from t_user_info"], "connection": [ "jdbcUrl": "jdbc:mysql://10.218.223.96:3306/test?useUnicode=true&characterEncoding=gbk", "table": ["t_user_info"]

====================================================================

@羲凡——只为了更好的活着

若对博客中有任何问题,欢迎留言交流

@羲凡——只为了更好的活着DataX mysql与hive间传输数据官网前期准备a.下载并配置DataX,见官网b.有hive环境和mysql库0.注意事项a.mysql数据导入到hive 中 connection 中的 jdbcUrl必须是个list,也就是要加中括号b.hive数据导出到mysql 中 connection 中的 jdbcUrl必须是string,也就是别加中括号c.hive数据导出到mysql 中,hdfsreader数据类型转化,hive中的TINYINT,SMAL
1. DataX 简介: DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SQLServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之高效的数据同步功能。本例中将使用 DataX 实现 HiveMySQL数据传输。 本例中所使...
DataxHive中导出数据写入到MySQL读取Hive数据时,Datax内部支持的数据类型脏数据错误类型的解决方法 读取Hive数据时,Datax内部支持的数据类型 Hive1.2.x 版本支持的数据类型已经很丰富了,但是Datax目前还支持不了这么多的数据类型,如果不注意的话,将会抛出很多奇怪的问题:比如 脏数据 的问题。
def hive2mysql(hivedatabase,hiveTableName,mysqldatabase,mysqlTableName,updateDaysSql): logDir = “%s/%s”%(logPath, hiveTableName) if not os.path.isdir(logDir): os.mkdir(logDir) logFile = “%s/%s”%(logDir, hiveTableName) log = PythonMode.getTimeRotatingLogger
在使用dataxhive导数到mysql时,数据缺失的问题可能是由以下原因导致的: 1.字段类型不匹配:在数据导入时,可能会因为hive数据类型与mysql数据类型不匹配而导致部分数据缺失,例如hive中的字符串类型和mysql中的字符类型不一致。 2.字符集不兼容:如果hivemysql使用的字符集不同,在数据传输中可能会导致数据缺失。 3.数据源问题:在数据导入之前,需要确保hive中的数据完整且正确。如果数据源在hive中存在缺失或错误数据,那么在使用datax导数时就会出现数据缺失的情况。 4.网络丢包:在数据传输过程中,可能会出现网络丢包的情况,导致部分数据丢失。 解决数据缺失问题的方法包括: 1.检查字段类型是否匹配,确保hive中的数据类型与mysql中的数据类型一致。 2.确保hivemysql使用相同的字符集来避免字符集冲突。 3.在数据导入之前,检查hive中的数据源,确保所有数据完整并且正确。 4.如果网络丢包是导致数据缺失的原因,则可以尝试使用更可靠的数据传输方式,如将数据拆分成多个小批量传输