2017-03-01 56 views
0

我有一个存储在Data Lake Store中的JSON文件。我可以使用Microsoft的JsonExtractor提取JSON文件。使用U-SQL在C#对象中加载JSON文件

是否可以在不使用EXTRACT命令的情况下将JSON文件加载到POCO对象中?如果我使用EXTRACT命令,我可以将单个C#对象中的所有行组合起来吗?

下面是我想在C#对象

{ 
    "sourcePath": "wasb://[email protected]/Input/{*}.txt", 
    "destinationPath": "wasb://[email protected]/Output/myfile.txt", 
    "errorPath": "wasb://[email protected]/Error/error.txt", 
    "schema": [ 
    { 
     "name": "column1", 
     "type": "string", 
     "allowNull": true, 
     "minLength": 12, 
     "maxLength": 50 
    }, 
    { 
     "name": "column2", 
     "type": "int", 
     "allowNull": true, 
     "minLength": 0, 
     "maxLength": 0 
    }, 
    { 
     "name": "column3", 
     "type": "bool", 
     "allowNull": true, 
     "minLength": 0, 
     "maxLength": 0 
    }, 
    { 
     "name": "column4", 
     "type": "DateTime", 
     "allowNull": false, 
     "minLength": 0, 
     "maxLength": 0 
    } 
    ] 
} 

回答

1

您可以编写自己的自定义提取器读取数据(input.baseStream)样本JSON文件反序列化和存储,并可以创建你的对象。查看该模式的Microsoft JSON提取器。

请注意,您的抽取器将拥有1/2 GB的主内存限制。