sqoop 是否像在数据库中一样保留导入行的顺序



我正在将一个表从oracle database AWS S3,然后在其上创建一个hive表。

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

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

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

导入过程中不会保留顺序,在选择时也不会确定顺序,没有ORDER BY或由于并行选择处理而DISTRIBUTE+SORT

选择数据时需要指定order by,无论数据如何插入。

ORDER BY 订购所有数据,将在单个减速器上工作,分配方式 + 每个减速器的排序订单并在分布式模式下工作。

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

相关内容

最新更新