import
--connect
jdbc:db2://host:port/database //db2驱动
--username
xxx //用户名
--password
xxx //密码
--table
db2table //db2中的表名字
--split-by
id //分块建议使用主键column字段名称作为分割块的依据,这样减少导入误差
--m
16 //1-更大 速度主要取决于系统性能 建议20
--hive-database
test //hive中的数据库名称 如果需要建库 则需要 创建 database 。构建参考语句 create database test;
--hive-table
a //建议使用db2原表名
--fields-terminated-by
'\n' //自定义列分割符号。默认为 '\001'
--lines-terminated-by
',' //自定义行分割符号。'\n'
--connect
jdbc:db2://host:port/database //db2驱动
--username
xxx //用户名
--password
xxx //密码
--table
db2table //db2中的表名字
--split-by
id //分块建议使用主键column字段名称作为分割块的依据,这样减少导入误差
--m
16 //1-更大 速度主要取决于系统性能 建议20
--hive-database
test //hive中的数据库名称 如果需要建库 则需要 创建 database 。构建参考语句 create database test;
--hive-table
a //建议使用db2原表名
--fields-terminated-by
'\n' //自定义列分割符号。默认为 '\001'
--lines-terminated-by
',' //自定义行分割符号。'\n'
--hive-import
在此之前我未使用 自定义分隔符 导致 出现如下警告
我选择的分割列是 一个 double 类型的列。。导致了这个问题。
当我把 --split by换成 主键后 问题消失
因为 分割块的时候 他会 找出 分个块中的最小值 和 最大值。。
18/05/17 16:13:17 INFO db.DataDrivenDBInputFormat: BoundingValsQuery: SELECT MIN(column), MAX(column) FROM xxx
然后计算 平均分配到 每个 mapreduce 节点上。
刚学习大数据。如果有说的不对的地方请指出。谢谢