Data Lake方法(根据幻灯片5 here)是:
但是,假设我们已将许多数据集加载到数据库中,如何以自动化和可扩展的方式进行模式发现? U-SQL是否支持使用ADLA或其他工具集进行动态模式发现或使用它的好方法?
答案 0 :(得分:1)
这是一个很好的问题,但答案在某种程度上取决于您想要发现的架构。
让我解释一下:
如果您有CSV类型数据,则有一些工具,包括最新版本的VisualStudio ADL工具,它们将尝试从提供的数据中检测您的模式(这些工具实际上会为您生成EXTRACT语句)。
某些交互式语言也可能会为您提供尝试在查询中推断架构的提取器。我们目前不支持在U-SQL中使用此功能,因为您不希望批处理作业错误地推断出架构,并且在花费大量资金来运行作业后失败。在交互式设置中,它的成本更低,并且可以由查询作者轻松更正/覆盖。
如果您有数据(如图像或文本文档)甚至嵌套的半结构化文档(如JSON或XML),则通常必须提供所需的架构。例如,如果你有一个JPEG文件,你想要EXIF属性吗?如果是这样的?还是一些特征提取?还是一些颜色分析?等
所以我认为在设计数据湖时,一件重要的事情就是将原生格式数据的一些语义上有意义的组织转换为文件夹结构,并使用Views / TVF在元数据中提供模式化视图服务使它们更容易被发现,或使用Azure数据目录等服务来描述数据。
如果您已经在湖泊存储中存在数据并且想要发现它,那么您现在必须使用U-SQL和SDK或某些与WebHDFS API相关的工具构建某种形式的发现的商店。