【问题标题】:Event Hub, Stream Analytics and Data Lake pipe questions事件中心、流分析和数据湖管道问题
【发布时间】:2018-01-13 03:23:21
【问题描述】:

在阅读了article 之后,我决定尝试构建一个数据摄取管道。一切正常。我能够将数据发送到 Event Hub,由 Stream Analytics 摄取并发送到 Data Lake。但是,对于一些我觉得很奇怪的事情,我有几个问题。如果比我更有经验的人能够回答,我将不胜感激。

这是我的流分析中的 SQL

SELECT
    *
INTO
    [my-data-lake]
FROM
    [my-event-hub]

现在,对于问题:

  1. 我应该将 100% 的数据存储在一个文件中,尝试将其拆分为多个文件,还是尝试实现一个文件一个对象?流分析将所有数据存储在一个文件中,作为一个巨大的 JSON 数组。我尝试将 {date} 和 {time} 设置为变量,但它每天仍然是一个巨大的单个文件。
  2. 是否有办法强制流分析将 Event Hub 中的每个条目写入其自己的文件中?或者可能限制文件的大小?
  3. 有没有办法从流分析中设置文件的名称?如果是这样,如果名称已经存在,有没有办法覆盖文件?
  4. 我还注意到该文件在创建后立即可用,并且是实时写入的,因此当我下载/显示文件时可以看到其中的数据截断。此外,在它完成之前,它不是一个有效的 JSON。如果我在写入数据湖文件时(通过 U-SQL)查询它会发生什么?忽略最后一个条目是否足够聪明,或者将其理解为不完整的对象数组?
  5. 将 JSON 数据存储为数组还是将每个对象存储在新行中更好?

也许我对我的问题采取了不好的方法,但我在 Google 数据存储区(Google 的 NoSQL 解决方案)中有一个庞大的数据集。我只能使用权限有限的帐户访问数据存储区。我需要将此数据存储在数据湖中。因此,我制作了一个应用程序,将数据从 Datastore 流式传输到 Event Hub,由 Stream Analytics 摄取,后者在 Data Lake 中写下文件。这是我第一次使用这三种技术,但似乎是最好的解决方案。它是我替代 ETL 混乱的首选。

我很抱歉提出这么多问题。我希望有人能帮助我。

提前致谢。

【问题讨论】:

  • 查看 Azure 事件中心捕获功能 docs.microsoft.com/en-us/azure/event-hubs/…,用于根据窗口(时间/大小)将管道(原始)流数据直接存储到 Azure 存储容器或 Azure Data Lake Store需要。
  • @RomanKiss 谢谢!这很有意义!我的流分析有一些“逻辑”,但我可能会忽略它并直接使用事件中心捕获解决方案。
  • 捕获的流可以直接用于暖和冷管道,除了来自事件中心中摄取的数据的热(实时)管道并通过 ASA 作业进行分析..
  • @RomanKiss 对不起,我不是很有经验。您认为什么是暖管道或冷管道?在我的场景中,我几乎有来自不同数据源的数据,并且基于“data_source”JSON 属性,我必须将其归档到数据湖中的不同文件夹中。但是,AFAIK,直接来自 Event Hubs Capture,我无法在其中定义条件路径。
  • Azure 事件中心捕获功能允许基于分区消费者模型(每个分区单独存储文件)归档提取的遥测数据。事件中心的最大分区数为 32,因此如果您的 numOfsources docs.microsoft.com/en-us/azure/event-hubs/…

标签: azure-data-lake azure-eventhub azure-stream-analytics


【解决方案1】:

我只回答文件方面的问题:

  1. 生成较大的文件以供以后处理通常比许多非常小的文件要好。鉴于您使用的是 JSON,我建议将文件限制为您的 JSON 提取器能够在不耗尽内存的情况下管理的大小(如果您决定使用基于 DOM 的解析器)。

  2. 我将把它留给 ASA 专家。

  3. 同上。

  4. 答案取决于 ASA 如何写入 JSON。客户端可以附加到文件,U-SQL 应该只看到已添加到密封范围内的文件中的数据。因此,如果 ASA 确保范围与 JSON 文档的结尾对齐,您应该只会看到有效的 JSON 文档。如果没有,那么您可能会失败。

  5. 这取决于您计划如何处理数据。请注意,如果您将其编写为数组的一部分,则必须等到数组“关闭”,否则您的 JSON 解析器很可能会失败。为了并行化和更“灵活”,我可能会得到每行一个 JSON 文档。

【讨论】:

  • 非常感谢你,迈克尔。本周我将尝试一些进展,希望我能够正确设置 ASA
猜你喜欢
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 2018-06-02
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多