为JSON文件分配的ADLA AU

时间:2018-09-06 06:38:39

标签: azure-data-lake u-sql

我有一个自定义提取器,其中 AtomicFileProcessing设置为false 。它提取大量JSON文件(文件中的每一行都是一个JSON文档),并输出两个具有成功和失败请求的文件,它们都包含json行(分配给AU的行数大于1来提取文件)。问题是,当我在第一步中使用同一提取程序来提取具有多个AU的输出文件时,它失败,并出现错误解析值时遇到意外字符:e。路径”,第0行,位置0

如果我在Azure上分配了1个AU或在AU设置为大于1的情况下在本地运行,它将成功处理数据。是因为提供了更多的AU来处理单个JSON文件,并且由于该文件为不可拆分格式,所以无法将其并行化,是因为这种行为?

1 个答案:

答案 0 :(得分:0)

您可以解决将json文件转换为Jsonlines的问题。

http://jsonlines.org/examples/

然后,您需要使用文本提取器读取文件并使用Microsoft.Analytics.Samples.Formats上可用的JsonFunctions 读取json。

这种转换将使您的文件可拆分,您可以并行化它!