我们正在通过sqoop将数据从sqlserver加载到配置单元。我们遇到的问题如下所述
答。我们可以通过sqoop在配置单元中创建一个表模式,同时将来自sqlserver的多个表与连接结合起来吗?
我想创建与sqoop命令参数中指定的查询的连接输出相对应的模式
b。lastmodified模式下的配置单元增量更新需要sql server表中的timestamp列。sqoop将使用该列将值与提供的时间戳进行比较。
当我试着 timestamp
sql server中的数据类型,sqoop无法创建配置单元表,出现错误
配置单元不支持列lastupdated的sql类型。
lastupdated在sql server中具有时间戳数据类型。sql server时间戳与sql 92标准不一致。datetime数据类型也不起作用。配置单元字符串列是为sql server日期时间列创建的。
支持sqoop增量特性的lastmodified模式的其他替代方法是什么?
谢谢
1条答案
按热度按时间eagi6jfj1#
当你阅读sqoop文档时,你的两个答案都应该变得清晰。
答。是:第7.2.3章。自由形式查询导入@sqoop docs
您可以在sqoop内部运行查询来执行初始摄取。
b。是:您可以合并数据来进行更新,另请参阅docs@13.2。语法
如果你想做额外的,更复杂的事情,你应该考虑只是摄取数据,原始的。然后在hadoop内部对其应用逻辑。毕竟,它是用来处理数据的。sqoop不支持udf,因此您可能需要查看pig、spark和sparksql。