我正在尝试使用USQL解析Json文件,但不断收到错误 .
Json file@
{"dimBetType_SKey":1,"BetType_BKey":1,"BetTypeName":"Test1"}
{"dimBetType_SKey":2,"BetType_BKey":2,"BetTypeName":"Test2"}
{"dimBetType_SKey":3,"BetType_BKey":3,"BetTypeName":"Test3"}
下面是USQL脚本,我正在尝试从上面的文件中提取数据 .
REFERENCE ASSEMBLY [Newtonsoft.Json];
REFERENCE ASSEMBLY [Microsoft.Analytics.Samples.Formats];
DECLARE @Full_Path string =
"adl://xxxx.azuredatalakestore.net/2017/03/28/00_0_66ffdd26541742fab57139e95080e704.json";
DECLARE @Output_Path = "adl://xxxx.azuredatalakestore.net/Output/Output.csv";
@logSchema =
EXTRACT dimBetType_SKey int
FROM @Full_Path
USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor();
OUTPUT @logSchema
TO @Output_Path
USING Outputters.Csv();
但是USQL在Vertex错误时仍然失败
有帮助吗?
2 回答
这可能是因为您在文件的每个新行上都有新的JSON块 . 这意味着您需要以稍微不同的方式解析它而不是直接的JSON文件 .
首先尝试使用文本提取器,使用新的行分隔符引入每个JSON元素 . 像这样...
然后使用您引用的程序集粉碎JSON,但使用JSON元组方法 . 像这样...
接下来,获取值 . 像这样...
最后,将输出输出为CSV或其他任何内容 .
作为旁注,您不需要引用完整的数据湖存储路径 . 分析引擎知道存储的根目录在哪里,所以你可以用这个替换你的变量......
希望这有助于排序您的问题 .
对于您的信息,ADF可以帮助您轻松地从JSON(JSON格式)复制为CSV(文本格式) . 说明可参考:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-faq#specifying-formats
复制向导可以帮助您预览数据并通过UI设置管道 . https://docs.microsoft.com/en-us/azure/data-factory/data-factory-copy-data-wizard-tutorial