2017-06-20 10 views
0

kafkaからデータを取得しようとしていますが、そのデータは低速です。thiftからjsonへの変換

いくつかの値を変更するためにjsonに変換したい場合、どうすればいいですか?

thiftからjsonに変換するプロセッサはありますか?

おかげ

+0

あなたはサーバー管理者/開発者と交渉できますか? ThriftパッケージにもJSONオプションがあります –

+0

ちょっとジャセク、ええ、私たちが持っているオプションの1つですが、彼らはそれが希少であることを好むので、すべてのオプションを探しています。ありがとう – Bentipe

+0

Thriftがすでに['TJSONProtocol']をサポートしているとJacekは言っています(https://github.com/apache/thrift/blob/master/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java )(実際には2つありますが、1つは書き込み専用です) – JensG

答えて

1

ヤツェクが指摘したように、直接カフカからJSONを消費することが理想的ですが、これが不可能な場合には、ここではいくつかのオプションは次のとおりです。

  1. はコマンド - を実行しますライン変換 - スリフト入力とconverts it using a JSON serializer to JSONを受け入れる単純なコンパイル済みのJavaクライアントを作成します。 ExecuteStreamCommandプロセッサを使用してこのクライアントを呼び出します。これは、NiFiのJVMにスリフトの依存関係を持たせないという利点があります。
  2. ExecuteScriptを使用してNiFiで変換を実行する - Groovyスクリプト(純粋なJavaも同様に使用できます)で直接Thriftトランスフォームを記述し、ファイルを参照するか、スクリプト本体をプロセッサーに貼り付けます。これにより、プロセッサのモジュールディレクトリでThriftライブラリを利用できるようになります。
  3. カスタムプロセッサを作成する - Apache NiFi Developer Guideの手順に従って、独自のカスタムプロセッサを作成し、NARをまとめてNiFiインスタンスにドロップすることができます。完全なプロセッサライフサイクル、フレームワークAPI、コントローラサービス、ユニットテストハーネスなどにアクセスできます。

幸いです。

+0

ありがとうAndy、ええ、最高の選択肢はJsonのサーバーから直接行うことです。時間がかかりません。ありがとう。 – Bentipe

関連する問題