3

Sqoop を使用して、ハイブから SQL Server にデータをエクスポートしています。新しいデータは、常に SQL Server の既存のデータに追加されます。

エクスポートを開始する前に、Sqoop を介して SQL Server テーブルを切り詰めることは可能ですか?

4

3 に答える 3

8

sqoop evalを使用して、データベースで任意の SQL を実行できます。これにより、Sqoop を「離れる」ことなくテーブルを切り詰めることができます。例えば:

sqoop eval --connect 'jdbc:sqlserver://1.1.1.1;database=SomeDatabase;username=someUser;password=somePassword' --query "TRUNCATE TABLE some_table"

sqoop export --connect 'jdbc:sqlserver://1.1.1.1;database=SomeDatabase;username=someUser;password=somePassword' --export-dir /path/to/someTable/on/HDFS --table some_table --fields-terminated-by \001

--fields-terminated-by \001Hive テーブルがデフォルトの区切り文字を使用していることを前提としています。

于 2013-04-04T18:01:12.957 に答える
3

Sqoop は一般的なクエリ ツールではありません。「評価」機能は評価目的でのみ提供されており、運用モードでは使用しないでください。ユースケースに最適な方法でそれを行う単純な Java コードをいつでもまとめることができます。

于 2013-04-05T02:33:05.303 に答える
0

sqoop --truncate オプションを実装する機能リクエストがあります https://issues.apache.org/jira/browse/SQOOP-1313

興味がある場合は、その JIRA ページで投票してください。

于 2016-09-28T16:44:52.767 に答える