@jqZJO73rWyVIEzOOの技術ブログ

何ができるか

Json 形式のデータを元に、そのまま成形して Json 形式のデータを生成することができる。
要は一々 Json 形式から値を取得して再度組み直して…という手間なく Json 形式のデータを作れる。
ちなみにこの処理は Java ライブラリの Jolt と呼ばれるものを使用している模様。
そのため、詳細を調べる時は [Java Jolt] と調べると… oracle の Jolt クラスが出てくる。oracle め…。
上記のリンク先、github の情報を見るか、下記の web 上で動作確認ができるツールを用いて色々試して見ると良い。
Jolt Transform Demo

どんな時に使うか

前述の通り Json から Json を生成したい時に。
また、NiFi のプロセッサ AttributeToJson 等を使用して Json データを生成することはできても、階層を持つ Json は生成することができないため、そうした形の Json を作りたい時に使用する。

どう設定するか

前述した Jolt と呼ばれるライブラリを使用する目的ならば以下の項目のみでOK。

Jolt Specification:
先程のリンク、Jolt Transform Demo の中央に記載されている変換処理をここに記載する。
書き方に関しては別に記事、もしくはログを作ろうと思う。
一応以前備忘録として書いたものがあるのでとりあえずそれを置いておくので参考にすると良い。
JoltTransformJSON-NiFi (というか Jolt Transform とかいう手法に関して)

他項目についてだが…正直一度も項目の編集をしたことがない。
Stock Transforms(先程の github 参照) と呼ばれる Jolt の種類(?)は複数あるのでそれに左右されるのかと思いきや、とりあえず defaultshift に関しては特に設定などなくとも問題なく実行することができた。

Jolt Transformation DSL:
説明文を直訳すると、「提供されている仕様で使用する必要があるJolt変換を指定します。」とのこと。
つまり前述した default や shift などを使う時はここを該当するものに変える必要がある…?
かと思ったけども、これも特に設定することもなく(初期値の chain)使用することができたので…なんだろこれ。

Custom Transformation Class Name:
Custom Module Directory:
こちら2つとも未使用。
説明文見る限り「カスタム」が鍵か。おそらく Jolt のライブラリの理解が進めばわかる箇所なのかな。ただ [costom] の用語で検索しても特に該当するものがなかったからなぁ…。

Transform Cache Size:
変換を行う際の一時キャッシュを行うサイズの指定。
特に多い要素じゃなければ初期値で問題ない。

わからないこと

先程記載した未使用の項目。
というかそもそもライブラリとしての Jolt に関しての知識に乏しいのが問題か。

ただこれを使えるようになると本当に便利なので色々試してみてみることをおすすめする。

このログへのコメント

コメントはありません