sqoop 是否保留数据库中导入行的顺序
Does sqoop preserves order of imported rows as in Database
我正在将 table 从 oracle database
复制到 AWS S3
,然后在其上创建 hive
table。
导入数据后,数据库中记录的顺序是否保留在配置单元中table?
我想使用 java JDBC 从数据库和配置单元中获取几百行,然后比较 ResultSet
中的每一行。假设我没有主键,我可以比较 ResultSets
中出现的行(按顺序,使用 resultSet.next()
)还是由于并行导入而更改了顺序?
如果不保留顺序,ORDER BY
是否是一个好的选择?
导入期间不保留顺序,并且由于并行 select 处理,在没有 ORDER BY
或 DISTRIBUTE+SORT
的情况下 selecting 时也无法确定顺序。
您需要在 select 插入数据时指定 order by
,无论数据是如何插入的。
ORDER BY 排序所有数据,将在单个 reducer 上工作,DISTRIBUTE BY + SORT orders per reducer 并在分布式模式下工作。
另见此回答
我正在将 table 从 oracle database
复制到 AWS S3
,然后在其上创建 hive
table。
导入数据后,数据库中记录的顺序是否保留在配置单元中table?
我想使用 java JDBC 从数据库和配置单元中获取几百行,然后比较 ResultSet
中的每一行。假设我没有主键,我可以比较 ResultSets
中出现的行(按顺序,使用 resultSet.next()
)还是由于并行导入而更改了顺序?
如果不保留顺序,ORDER BY
是否是一个好的选择?
导入期间不保留顺序,并且由于并行 select 处理,在没有 ORDER BY
或 DISTRIBUTE+SORT
的情况下 selecting 时也无法确定顺序。
您需要在 select 插入数据时指定 order by
,无论数据是如何插入的。
ORDER BY 排序所有数据,将在单个 reducer 上工作,DISTRIBUTE BY + SORT orders per reducer 并在分布式模式下工作。
另见此回答