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