Sqoop を使用して、ハイブから SQL Server にデータをエクスポートしています。新しいデータは、常に SQL Server の既存のデータに追加されます。
エクスポートを開始する前に、Sqoop を介して SQL Server テーブルを切り詰めることは可能ですか?
Sqoop を使用して、ハイブから SQL Server にデータをエクスポートしています。新しいデータは、常に SQL Server の既存のデータに追加されます。
エクスポートを開始する前に、Sqoop を介して SQL Server テーブルを切り詰めることは可能ですか?
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 \001
Hive テーブルがデフォルトの区切り文字を使用していることを前提としています。
Sqoop は一般的なクエリ ツールではありません。「評価」機能は評価目的でのみ提供されており、運用モードでは使用しないでください。ユースケースに最適な方法でそれを行う単純な Java コードをいつでもまとめることができます。
sqoop --truncate オプションを実装する機能リクエストがあります https://issues.apache.org/jira/browse/SQOOP-1313
興味がある場合は、その JIRA ページで投票してください。