csv - Hive 中的额外空行
问题描述
我的项目涉及将数据从 SQL 数据库迁移到 HDFS,然后创建将数据文件链接到表的 Hive 表。我通过将数据库的内容导出到本地计算机上的 CSV 文件来手动进行迁移,我正在使用 winSCP 将这些内容复制到 hadoop edgenode。我正在运行以下命令:
hadoop fs -mkdir /user/cloudera/project/database/table
其次是
hadoop fs -put /home/cloudera/project/table.csv /user/cloudera/project/database/table/table.csv
最后,我正在运行从同一个 shell 脚本文件调用的 hql 脚本:
CREATE TABLE IF NOT EXISTS TABLE_NAME
(
FIELD_ONE STRING,
FIELD_TWO INT,
ETC STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/cloudera/project/database/table'
tblproperties ("skip.header.line.count"="1");
出现的问题是 HDFS 中的行数比 SQL 数据库中的行数多 70 行。我怀疑这个问题的原因是某些行被截断(行的剩余部分被带到下一行)。这会导致额外的行包含完全错误的数据。
什么可能导致此问题,是否有解决方法?
解决方案
似乎与您使用哪个数据库导入数据有关?如果您使用的是 DB2 数据库,那么下面的参数将解决您的问题。
sqoop import -D db2.jcc.charsetDecoderEncoder=3
推荐阅读
- codenameone - 从应用程序的先前版本接收电子邮件日志包
- python - 为什么我的随机森林和决策树一直显示 100% 准确率?
- java - A a = new B() 在java中到底是什么意思
- entity-framework - 如何遍历数据库上下文中的所有表并查询数据
- vim - 修改 vim 自动缩进的行为
- html - 以角度获取图像的长度和宽度(来自组件)
- javascript - 将样式从子文档应用到父文档
- jenkins - 詹金斯民意调查 SCM 问题
- wordpress - 如何更改 WP 主题搜索字段中的占位符?
- shell - while 循环正在为变量赋值,我稍后将使用它但不确定