sqoop是否像在数据库

时间:2017-04-12 11:11:23

标签: jdbc hive sql-order-by sqoop

我正在从oracle databaseAWS S3&然后在其上创建一个hive表。

导入数据后,数据库中存在的记录顺序是否保存在hive表中?

我想使用java JDBC从数据库和hive中获取几百行,然后比较ResultSet中的每一行。假设我没有主键,我可以比较ResultSets出现的行(按顺序,使用resultSet.next()),还是由于并行导入而改变订单?

如果不保留订单,ORDER BY是否是一个不错的选择?

1 个答案:

答案 0 :(得分:1)

导入期间不会保留订单,由于并行选择处理,在没有=IF(A2 >= 25, IF(B2 >=17, "Bad Product", "FALSE"), IF(A2 < 25, IF(B2 >= 6, "Bad Product", "FALSE"), "Withous Value")) ORDER BY的情况下进行选择时也无法确定订单。

选择数据时需要指定DISTRIBUTE+SORT,无论插入方式如何。

ORDER BY命令所有数据,将在单个reducer,每个reducer的DISTRIBUTE BY + SORT命令上工作,并在分布式模式下工作。

另请参阅此答案https://stackoverflow.com/a/40264715/2700344