我正在将一个表从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