我们正在使用 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 表使用默认分隔符。
关于sql-server - 勺子 : Truncate SQL Server table before exporting data from Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15808257/