#低延迟 #数据流 #Apache Arrow #分布式 #记录 #可组合 #Parquet

app dora-record

dora的目标是成为一个低延迟、可组合和分布式的数据流

17次发布

0.3.5 2024年7月3日
0.3.5-rc02024年6月26日
0.3.4 2024年5月20日
0.3.3 2024年4月11日
0.3.0 2023年11月3日

#2 in #数据流

Apache-2.0

21KB
159

dora-record

dora 使用Apache Arrow Parquet进行数据记录。

此节点仍处于实验阶段。

入门指南

cargo install dora-record --locked

添加到现有图

- id: dora-record
  custom:
    source: dora-record
    inputs:
      image: webcam/image
      text: webcam/text
      # You can add any input and it is going to be logged.

输出文件

格式:Parquet文件

路径: out/<DATAFLOW_ID>/<INPUT>.parquet

  • trace_id: String,表示当前跟踪的id
  • span_id: String,表示唯一的span id
  • timestamp_uhlc: u64,表示唯一混合逻辑时钟时间
  • timestamp_utc: DataType::Timestamp(Milliseconds),表示协调世界时的时间戳。
  • <INPUT>:包含输入的列,格式为定义格式。

示例

{
  "trace_id": "2fd23ddf1b5d2aa38ddb86ceedb55928",
  "span_id": "15aef03e0f052bbf",
  "timestamp_uhlc": "7368873278370007008",
  "timestamp_utc": 1715699508406,
  "random": [1886295351360621740]
}

合并多个文件

我们可以使用将要共享的trace_id来合并输入文件,当使用opentelemetry功能时。

  • trace_id还可以从UI如jaeger UI、influxDB等中查询...
  • trace_id跟踪数据的逻辑流程,与基于时间戳的合并相比,可能不会反映数据的实际逻辑流程。

依赖项

~41–72MB
~1.5M SLoC