【问题标题】:Can Azure Synapse query AVRO? (EventHubs capture files)Azure Synapse 可以查询 AVRO 吗? (EventHubs 捕获文件)
【发布时间】:2020-06-25 15:05:39
【问题描述】:

问题

Hive 内置了对 AVRO 的支持。使用 Azure Synapse(又名 PolyBase 的托管版本),我可以使用 Hive 的内置 AVRO SerDe 来查询 ADL Gen2 存储中的数据吗?

场景

我在一家金融公司工作,该公司在FIX-trading format 中拥有大量数据。我正在构建一个峰值,以尝试从 FIX 文件(历史数据、多年数据)和通过 Azure 事件中心(AEH,我相信它将以 AVRO 格式捕获到 ADL Gen2 转发的 FIX 消息,一个 AVRO)中查询原始 FIX 数据每个 FIX 交易消息的行)。我从“just FIX”的历史文件开始。

厄运引述

来自Synapse External Table documentation

本文前面列出了支持的 SerDe 方法与 RCFile 的组合,以及支持的数据压缩方法。并非所有组合都受支持。

【问题讨论】:

  • 我的老板提到 Synapse 确实支持 ORC 和 Parquet。我担心这些文件格式可能不适合 FIX 交易数据,因为 FIX 消息流包含小命令和非常宽的消息的组合:订单数据,填充又名执行数据。当 FIX 文件转换为 CSV 文件时,它们会很大,因为它们很稀疏。我想直接解析 FIX 或使用为稀疏数据设计的格式。如果正确分区(按消息类型),ORC 可能会很好,但我们试图首先回答这些问题。

标签: avro azure-sqldw polybase azure-data-lake-gen2


【解决方案1】:

我的团队找到了一个older post on how to query FIX data using Hive and Impala,我正试图弄清楚如何将它应用到 Azure Synapse 或 Azure Notebooks。

CREATE EXTERNAL TABLE fix_map
 (tag MAP< INT, STRING>)
 ROW FORMAT DELIMITED COLLECTION ITEMS
 TERMINATED BY ‘1’
 FIELDS TERMINATED BY ‘2’
 MAP KEYS TERMINATED BY ‘=’
 LOCATION ‘/user/jeremy/fix/’;
CREATE VIEW fix_view AS
    tag[38] AS OrderQty
  , tag[55] AS Symbol
  , tag[60] AS TransactTime
    fix_map;
    OrderQty
  , Symbol
  , TransactTime
FROM fix_view;
SELECT
    OrderQty
  , `Symbol`
  , TransactTime
FROM fix;

【讨论】:

    猜你喜欢
    • 2022-10-18
    • 2021-09-13
    • 2021-01-14
    • 1970-01-01
    • 2019-12-10
    • 2021-06-02
    • 1970-01-01
    • 2020-12-12
    • 2021-08-04
    相关资源
    最近更新 更多