2

最近sqoop - hive/hadoop、Linux の作業を開始しました。1 つのテーブルから Oracle テーブルにハイブ データをインポートする必要があります。これを行うために単純なsqoopエクスポートを使用しています。ハイブテーブルに600万行あります。

このコマンドにより、パフォーマンスが非常に低下し、ジョブを完了するのに長い時間 (85 分) かかります。

クエリ ->

sqoop export --connect jdbc:oracle:thin:@server:port:db--username user --password password--export-dir /user/hive/warehouse/tb --table tb--columns 'col1,col2..col33'  --input-fields-terminated-by  ','  --input-null-string '\\N' --input-null-non-string '\\N'  -m 1

高速化に役立つ構成変更はありますか。

4

2 に答える 2

0

これは「広い」データセットですか? sqoop バグhttps://issues.apache.org/jira/browse/SQOOP-2920である可能性があります。列の数が非常に多い場合 (数百単位)、sqoop がチョークを開始します (CPU 使用率が非常に高い)。

フィールドの数が少ない場合、通常は逆になります。つまり、sqoop が退屈で、Oracle が追いつかない場合です。この場合、通常 45 ~ 55 人のマッパーを超えることはありません。

于 2016-05-03T18:56:17.763 に答える