我在azure data lake store中有几个xml文件。我想从azure数据湖中获取这些文件并解析它。 我怎么能这样做?
答案 0 :(得分:0)
您可以使用Azure Data Lake Store .NET SDK。以下教程将指导您对存储在Data Lake Store上的文件执行各种文件操作。
https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-data-operations-net-sdk
答案 1 :(得分:0)
我使用自定义提取器执行了此类操作。它有两个部分:1。使用System.Xml.Serialization将XML元素映射到属性的类,以及2.,创建该类类型的XmlSerializer对象的提取器方法,并调用该类的Deserialize方法对象over input.Basestream(数据)。最后,使用您的自定义提取器使用U-SQL进行查询 - 这需要在使用查询的USING语句调用库之前编译,上载,注册,最后引用库。
第1部分:
[XmlRoot("SomeRoot")]
public class MyDataClass
{
[XmlElement("ELEMENT_0")]
public Guid Column0 { get; set; }
[XmlElement("ELEMENT_1")]
public long Column1 { get; set; }
[XmlElement("ELEMENT_2")]
public string Column2 { get; set; }
}`enter code here`
第2部分:
[SqlUserDefinedExtractor(AtomicFileProcessing = true)]
public class Xml : IExtractor
{
public override IEnumerable<IRow> Extract(IUnstructuredReader input, IUpdatableRow output)
{
XmlSerializer ser = new XmlSerializer(typeof(MyDataClass));
MyDataClass data = (MyDataClass)ser.Deserialize(input.BaseStream);
//blah blah
output.Set<Guid>(0, data.Column0);
output.Set<long>(1, data.Column1);
output.Set<string>(2, data.Column2);