2016-07-19 15 views
1

mysqlからhdfs/hiveにデータをインポートしようとしましたが、Nifiはいくつかの課題に直面しています。私を提案してください。Apache Nifiを使用してmysqlからHive/hdfsにデータをインポートする

  1. QueryDatabaseTable --- MySQLのデータ
  2. ConvertAvroToJson ---出力
[{"emp_id": 467260, "emp_name": "Rob", "emp_age": 32}, 
{"emp_id": 467261, "emp_name": "Vijay", "emp_age": 32}, 
{"emp_id": 467258, "emp_name": "Jayaprakash", "emp_age": 26}, 
{"emp_id": 467259, "emp_name": "Kalyan", "emp_age": 32}, 
{"emp_id": 467262, "emp_name": "Andy", "emp_age": 20}, 
{"emp_id": 467263, "emp_name": "Ashley", "emp_age": 24}, 
{"emp_id": 467264, "emp_name": "Mounika", "emp_age": 24}] 
  • splitjson - どのように分割しますjsonファイルを単一のフローファイルに変換する
  • 答えて

    0

    レコードの配列はルートオブジェクトなので、これらのレコードを分割するJsonPathの式はちょうど$だと思います。

    2

    ジェームズが言ったように、SplitJsonに、あなたが望むことは$である、またはあなたが$試すことができます*代替として

    、あなたが試すことができQueryDatabaseTable - 。> SplitAvro - > ConvertAvroToJsonは、これが最初のアブロレコードを分割しますセット全体をJSONに変換してからJSONを分割するのではなく、

    Apache NiFi 1.0.0には、ConvertAvroToORCプロセッサがあり、ORCに直接変換することができます。その後、PutHDFSとPutHiveQL(NiFi 0.7.0と1.0.0)を使用してファイルを転送できます。ターゲットディレクトリの上にHiveテーブルを作成して、クエリ可能なデータにします。

    関連する問題