Avro 形式

MIME タイプ: application/avro​

ID: avro​

Avro は、スキーマを使用してそのデータを構造化するバイナリデータ形式です。DataWeave は、スキーマを使用してデータを解析します。Avro データ構造は、DataWeave データ構造にマップされます。

Java 値のマッピング

次の表に、Avro と DataWeave の型のマッピングを示します。

Avro 型 DataWeave 型

​long

Number​

​int

Number​

​double

Number​

​boolean

Boolean​

​string

String​

​fixed

String​

​bytes

Binary​

​enum

String​

​map

​Object​

​array

Array​

​null

Null​

例: Avro スキーマを使用する

次の例は、ライターが Avro データ構造の出力に使用するスキーマの指定方法を示しています。

入力

Avro スキーマは次のようになります。

schema.json:
{
    "type": "record",
    "name": "userInfo",
    "namespace": "my.example",
    "fields": [
        {
            "name": "username",
            "type": "string",
            "default": "NONE"
        },
        {
            "name": "age",
            "type": "int",
            "default": -1
        },
        {
            "name": "phone",
            "type": "string",
            "default": "NONE"
        },
        {
            "name": "housenum",
            "type": "string",
            "default": "NONE"
        }
    ]
}

取得元

この DataWeave スクリプトのヘッダーの ​schemaUrl​ プロパティでスキーマ (​schema.json​) を DataWeave ライターに渡します。ライターは、スキーマを使用してスクリプトの本文のコンテンツを構造化し、結果を Avro 形式で出力します。

%dw 2.0
output application/avro schemaUrl="classpath://schema.json"
---
[{
    username: "Mariano",
    age: 35,
    phone: "213",
    housenum: "123"
},
{
    username: "Leandro",
    age: 29,
    phone: "213",
    housenum: "123"
},
{
    username: "Christian",
    age: 25,
    phone: "213",
    housenum: "123"
}]

Configuration のプロパティ

DataWeave では、Avro の次の設定プロパティがサポートされています。

リーダープロパティ (Avro)

Avro 形式では、入力データの読み込みの指示を提供するプロパティを使用できます。

パラメーター 型 デフォルト 説明

​schemaUrl​ (必須)

​String

​null

Avro スキーマの URL。有効な値は、​classpath://​、​file://​、​http://​ です。

ライタープロパティ (Avro)

Avro 形式では、出力データの書き込みの指示を提供するプロパティを使用できます。

パラメーター 型 デフォルト 説明

​bufferSize

​Number

​8192

バッファライターのサイズ。

​deferred

​Boolean

​false

​true​ に設定すると、DataWeave は出力をデータストリームとして生成し、スクリプトの実行はそれがコンシュームされるまで延期されます。 有効な値は、​true​ または ​false​ です。

​schemaUrl​ (必須)

​String

​null

Avro スキーマの URL。有効な値は、​classpath://​、​file://​、​http://​ です。

サポートされる MIME タイプ

Avro 形式では、次の MIME タイプがサポートされています。

MIME タイプ

application/avro​