我从MS SQL Server导入了Hive中大约10个表.但是当我尝试在表中的一个表中检查Hive中的记录时,我在运行查询时找到了更多记录(从tblName中选择count(*);).
然后我删除该表并再次将其导入Hive.我在Console Logs中观察到(检索了203条记录).然后我再次尝试(从tblName中选择count(*);)我得到了298的计数.
我不明白为什么会发生这种情况.查询中是否有任何错误,或者由于某些不正确的sqoop-import命令而发生.
所有其他表记录都没问题.
请帮我解决这个问题.
我从邮件列表中找到了这个问题的解决方案,我想分享一下.他们的答复如下:
我们过去遇到过类似的问题 - hive中的表似乎有比报告由sqoop导入的行更多的行,并且实际上在数据库中可用.
我们这边描述的问题是导出的数据中的字符不正确,导致导出的测试CSV文件中的行被破坏.例如,我们的一些行包含带有换行符的数据.由于一对导出的行被拆分为更多行,因此hive行的数量似乎大于导入数量.您可能遇到了类似的问题.我们通过使用参数--hive-drop-import-delims(或者您可以使用--hive-delims-replacement)解决了这个问题.有关语义和用法,请考虑查看手册:
http://incubator.apache.org/sqoop/docs/1.4.0-incubating/SqoopUserGuide.html#id1765770
谢谢
| 归档时间: |
|
| 查看次数: |
4450 次 |
| 最近记录: |