Apache nifi 使用ApacheNIFI将数据从mysql导入Hive/hdfs

Apache nifi 使用ApacheNIFI将数据从mysql导入Hive/hdfs,apache-nifi,Apache Nifi,我试图使用Nifi将数据从mysql导入hdfs/hive,但面临一些挑战。请推荐我 QueryDatabaseTable---mysql数据 ConvertAvroToJson---输出 splitjson——如何将json文件拆分为单流文件 我相信分割这些记录的JsonPath表达式就是$,因为记录数组是根对象。正如James所说,在分割JSON中,您可能需要的是$,或者您可以尝试$* 或者,您可以尝试QueryDatabaseTable->SplitAvro->ConvertAvroToJ

我试图使用Nifi将数据从mysql导入hdfs/hive,但面临一些挑战。请推荐我

  • QueryDatabaseTable---mysql数据
  • ConvertAvroToJson---输出
  • splitjson——如何将json文件拆分为单流文件

  • 我相信分割这些记录的JsonPath表达式就是
    $
    ,因为记录数组是根对象。

    正如James所说,在分割JSON中,您可能需要的是$,或者您可以尝试$*

    或者,您可以尝试QueryDatabaseTable->SplitAvro->ConvertAvroToJson,这将首先拆分Avro记录,而不是将整个集合转换为JSON,然后拆分JSON

    在ApacheNIFI 1.0.0中,将有一个ConvertAvroToORC处理器,允许您直接转换为ORC,然后您可以使用PutHDFS和PutHiveQL(在NiFi 0.7.0和1.0.0中)将文件传输到HDFS,并在目标目录上创建一个配置单元表,以便为查询数据做好准备

    [{"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}]