日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

數據格式描述文件

本文介紹索引數據的描述文件(Ingestion Spec文件)。

Ingestion Spec(數據格式描述)是Druid對要索引數據的格式以及如何索引該數據格式的一個統一描述,它是一個JSON文件,一般由三部分組成。

{
    "dataSchema" : {...},
    "ioConfig" : {...},
    "tuningConfig" : {...}
}

格式

描述

是否必須

dataSchema

JSON對象

待消費數據的schema信息。dataSchema是固定的,不隨數據消費方式改變。

ioConfig

JSON對象

待消費數據的來源和消費去向。數據消費方式不同,ioConfig也不相同。

tuningConfig

JSON對象

調節數據消費時的參數。數據消費方式不同,可以調節的參數也不相同。

DataSchema

第一部分的dataSchema描述了數據的格式,如何解析該數據,典型結構如下。

{
    "dataSource": <name_of_dataSource>,
    "parser": {
        "type": <>,
        "parseSpec": {
            "format": <>,
            "timestampSpec": {},
            "dimensionsSpec": {}
        }
    },
    "metricsSpec": {},
    "granularitySpec": {}
}

格式

描述

是否必須

dataSource

字符串

數據源的名稱。

parser

JSON對象

數據的解析方式。

metricsSpec

JSON對象數組

聚合器(aggregator)列表。

granularitySpec

JSON對象

數據聚合設置,如創建segments、聚合粒度等。

  • parser

    parser部分決定了您的數據如何被正確地解析,metricsSpec定義了數據如何被聚集計算,granularitySpec定義了數據分片的粒度、查詢的粒度。

    對于parser,type有兩個選項:string和hadoopString,后者用于Hadoop索引的 job。parseSpec是數據格式解析的具體定義。

    格式

    描述

    是否必須

    type

    字符串

    數據格式,可以是 “json”、“jsonLowercase”、“csv”和“tsv”幾種格式。

    timestampSpec

    JSON對象

    時間戳和時間戳類型。

    dimensionsSpec

    JSON對象

    數據的維度(包含哪些列)。

    對于不同的數據格式,可能還有額外的parseSpec選項。

    timestampSpec表的描述如下。

    格式

    描述

    是否必須

    column

    字符串

    時間戳對應的列。

    format

    字符串

    時間戳類型,可選”iso”、 “millis”、 “posix”、“auto”和joda time支持的類型。

    dimensionsSpec表的描述如下。

    格式

    描述

    是否必須

    dimensions

    JSON數組

    數據包含的維度。每個維度可以只是個字符串,或者可以額外指明維度的屬性。例如 “dimensions”: [ “dimension1”, “dimension2”, “{“type”: “long”, “name”: “dimension3”} ],默認是STRING類型。

    dimensionExclusions

    JSON字符串數組

    數據消費時要剔除的維度。

    spatialDimensions

    JSON對象數組

    空間維度。

  • metricsSpec

    metricsSpec是一個JSON對象數組,定義了一些聚合器(aggregators)。聚合器通常有如下的結構。

    {
        "type": <type>,
        "name": <output_name>,
        "fieldName": <metric_name>
    }

    官方提供了以下常用的聚合器。

    類型

    type 可選

    count

    count

    sum

    longSum、doubleSum、floatSum

    min/max

    longMin/longMax、doubleMin/doubleMax、floatMin/floatMax

    first/last

    longFirst/longLast、doubleFirst/doubleLast、floatFirst/floatLast

    javascript

    javascript

    cardinality

    cardinality

    hyperUnique

    hyperUnique

    說明

    后三個屬于高級聚合器,詳情請參見Apache Druid官方文檔

  • granularitySpec

    聚合支持兩種聚合方式:uniform和arbitrary,前者以一個固定的時間間隔聚合數據,后者盡量保證每個segments大小一致,時間間隔是不固定的。目前uniform是默認選項。

    格式

    描述

    是否必須

    segmentGranularity

    字符串

    segments粒度。uniform 方式使用。默認為DAY。

    queryGranularity

    字符串

    可供查詢的最小數據聚合粒度,默認值為true。

    rollup

    bool值

    是否聚合。

    intervals

    字符串

    數據消費時間間隔。

    • batch:是

    • realtime:否

ioConfig

第二部分ioConfig描述了數據來源。以下是一個Hadoop索引的例子。

{
    "type": "hadoop",
    "inputSpec": {
        "type": "static",
        "paths": "hdfs://emr-header-1.cluster-6789:9000/druid/quickstart/wikiticker-2015-09-16-sampled.json"
    }
}
說明

對于通過Tranquility處理的流式數據,這部分是不需要的。

Tunning Config

Tuning Config是指一些額外的設置。

Tunning Config的內容依賴于您的數據來源。例如,Hadoop對批量數據創建索引,您可以指定MapReduce參數。