Sqoop:在从Hadoop导出数据之前截断SQL Server表

gan*_*ran 3 sql-server hadoop sqoop

我们正在使用Sqoop将数据从配置单元导出到SQL Server.新数据始终附加到SQL Server中的现有数据.

是否可以在开始导出之前通过Sqoop截断SQL Server表?

Dan*_*man 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
Run Code Online (Sandbox Code Playgroud)

--fields-terminated-by \001 假设Hive表使用默认分隔符.