2016-07-19 7 views
1

Ich versuche, Daten von MySQL in hdfs/Hive mit Nifi mit einigen Herausforderungen zu importieren. Bitte schlage mich vor.Importieren von Daten aus MySQL in Hive/hdfs mit Apache Nifi

  1. QueryDatabaseTable --- MySQL-Daten
  2. ConvertAvroToJson --- Ausgang
[{"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}] 
  1. splitjson - wie aufzuspalten JSON-Datei in einzelne Flussdateien

Antwort

0

Ich glaube, der JsonPath-Ausdruck, um diese Datensätze zu trennen, ist nur $, weil das Array der Datensätze das Stammobjekt ist.

2

Wie James sagte, in SplitJson, können Sie ist $ wollen, oder Sie können $ versuchen *

Als Alternative können Sie QueryDatabaseTable versuchen. -> SplitAvro -> ConvertAvroToJson, das wird die Avro Aufzeichnungen aufgeteilt zuerst Anstatt den gesamten Satz in JSON zu konvertieren, wird der JSON geteilt.

In Apache NiFi 1.0.0 wird es einen ConvertAvroToORC Prozessor geben, mit dem Sie direkt in ORC konvertieren können, dann können Sie PutHive und PutHiveQL (in NiFi 0.7.0 und 1.0.0) verwenden, um die Dateien zu übertragen HDFS und erstellen Sie eine Hive-Tabelle über dem Zielverzeichnis, um die Daten für die Abfrage bereit zu machen.

Verwandte Themen