我有一个数据工厂管道,其中包含一个 HD Insight 管道,该管道正在尝试访问 Azure Data Lake 目录。
"type": "HDInsightHive",
"typeProperties": {
"scriptPath": "mpp-hive-scripts/parse_log.q",
"scriptLinkedService": "AzureStorageLinkedService",
"defines": {
"inputtable": "adl://mppmetering.azuredatalakestore.net/hour=23",
"outputtable": "wasb://mpp-metering-hive-output@mppmetering.blob.core.windows.net/output/"
}
},
运行此管道时出现以下错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: java.io.IOException No FileSystem for scheme: ad
这在使用以下规范访问 Azure Blob 存储的管道中工作正常:
"type": "HDInsightHive",
"typeProperties": {
"scriptPath": "mpp-hive-scripts/parse_log.q",
"scriptLinkedService": "AzureStorageLinkedService",
"defines": {
"inputtable": "wasb://mpp-metering-live@mppmetering.blob.core.windows.net/hour=23",
"outputtable": "wasb://mpp-metering-hive-output@mppmetering.blob.core.windows.net/output/"
}
},
任何帮助将不胜感激。.js
目前,Azure 数据工厂不支持在 Hive 脚本中引用 ADL 存储。唯一支持的存储是 blob 存储 (wasb)。这就是您看到错误的原因。需要在"定义"部分中使用 blob 存储(wasb 链接)。如果目的是将数据登陆 ADL 存储,则可以使用 ADF 中的"复制"活动将数据从 Blob 存储移动到 ADL 存储。