我正在从oracle database
到AWS S3
&然后在其上创建一个hive
表。
导入数据后,数据库中存在的记录顺序是否保存在hive表中?
我想使用java JDBC从数据库和hive中获取几百行,然后比较ResultSet
中的每一行。假设我没有主键,我可以比较ResultSets
出现的行(按顺序,使用resultSet.next()
),还是由于并行导入而改变订单?
如果不保留订单,ORDER BY
是否是一个不错的选择?
答案 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命令上工作,并在分布式模式下工作。