hive 执行如下 insert 插入语句后将数据从 RCFile 格式转换为 Text 并导入 Hdfs:
function insertData() { hive -e " insert overwrite directory '$output' select col_1,'t',col_2 from $table where dt='$day' and num > 10000 " }
但是解析忽略了 ^A 默认符,导致后续任务判断失效。
二.原因分析table 的 hive 分隔符为默认分割符 ^A
vim 下可显示:
文本格式显示:
但是 print 时无法显示,col_1 "t" col_2 进行 split 划分时需要注意分隔符:
取第一位正确 *** 作:
x.split("01")(0)
错误 *** 作:
因为这个不可视的问题折腾了好几次代码,蓝瘦了,以后要注意警惕 hive 的默认分割符!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)