我正在尝试使用sqoop将数据从我的数据湖导出到我在azuresqlserver中设置的表中。这些都在azure数据工厂中。表的架构与文件名的架构匹配,但有一个例外…我在表中有一个名为'file\u name'的列,我想从文件本身填充该列(该字段不在原始数据中)。这是我试过的代码。
sqoop-export
--connect "jdbc:sqlserver://server_name.database.windows.net:1433;username=user_name;password='pass word';database=db_name"
--table REUTERS_CW
--export-dir adl://rawdata/corp/file_name.gz
--input-fields-terminated-by "|"
当我运行它时,我得到以下错误:
<console>:10: error: identifier expected but string literal found.
--input-fields-terminated-by "|"
有三件事我不确定。
# 1) My password actually has spaces in it; I think wrapping that in quotes will fix it.
# 2) I'm running this in Scala in Azure Databricks; I'm guessing that's oen way to do it, but I don't know for sure.
# 3) I'm not certain about how to copy the data from the file and simultaneously append the file name relative to the data that's supposed to be copied over.
我遵循下面链接中的示例。
https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-data-transfer-sql-sqoop
1条答案
按热度按时间kr98yfug1#
我从中得到了什么
sqoop-export
文档似乎不支持压缩文件。您可以引用sqoop导出语法。
sqoop导出:
这个
--export-dir
论点和其中之一--table
或者--call
是必需的。它们指定要填充到数据库中的表(或要调用的存储过程)以及hdfs中包含源数据的目录。sqoop导入:
希望这有帮助。