前言
大数据与
RDBMS
之间的数据导入和导出都是企业日常数据处理中常见的一环,该环节一般称为
e-t-l
即
extract-transform-load
。市面上可用的
etl
工具和框架很多,如来自于传统数仓和
BI
圈的
kettle/informatica/datastage
, 来自于
hadoop
生态圈的
sqoop/datax
,抑或使用计算引擎
spark/presto/flink
直接编写代码完成
etl
作业。
在这里跟大家分享一次使用
datax
从
hive
导出数据到
oracle
的作业的时候,出现了两边数据的编码集不一致导致的乱码问题,希望对大家遇到相同的问题时有所帮忙。
问题背景
最近接到业务人员反馈导出
oracle
数据库中的数据和
hive
中的数据不一致,
hive
中明明是 "• " ,但是导出到
Oracle
后却变成了 “?”,于是,当我看到这个问题的时候,我的头脑里也出现了很多问号?
思考片刻后,于是找到
DBA
询问
oracle
数据库的编码集是什么,回答是
ZHS16GBK
,而 hive 中的编码集是
UTF-8
,这就很明了了,确定是编码集不一致导致的乱码问题了。
那么如何
版权归原作者 笑看风云路 所有, 如有侵权,请联系我们删除。