Apache nifi 将Avro转换为NiFi中的拼花地板

Apache nifi 将Avro转换为NiFi中的拼花地板,apache-nifi,Apache Nifi,我想将Avro文件转换为NiFi中的拼花地板。我知道可以通过ConvertAvroToORC处理器转换成ORC,但我没有找到转换成拼花地板的解决方案 我正在通过ConvertRecord JSONterReader和AvroRecordSetWriter处理器将JSON转换为Avro。之后,我想把Avro的有效载荷转换成拼花地板,然后再把它放入S3桶中。我不想将其存储在HDFS中,因此拼花地板处理器似乎不适用 我需要一个处理器,例如:ConvertAvroToParquet实际上,可以使用拼花地

我想将Avro文件转换为NiFi中的拼花地板。我知道可以通过ConvertAvroToORC处理器转换成ORC,但我没有找到转换成拼花地板的解决方案

我正在通过ConvertRecord JSONterReader和AvroRecordSetWriter处理器将JSON转换为Avro。之后,我想把Avro的有效载荷转换成拼花地板,然后再把它放入S3桶中。我不想将其存储在HDFS中,因此拼花地板处理器似乎不适用


我需要一个处理器,例如:ConvertAvroToParquet

实际上,可以使用拼花地板处理器

以下描述来自nifi-1.8中的工作流程

将以下LIB放入一个文件夹,例如home/nifi/s3libs/:

aws-java-sdk-1.11.455.jar+第三方LIB hadoop-aws-3.0.0.jar 创建一个xml文件,例如/home/nifi/s3conf/core-site.xml。可能需要一些额外的调整,请为区域使用正确的端点

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>s3a://BUCKET_NAME</value>
    </property>
    <property>
        <name>fs.s3a.access.key</name>
        <value>ACCESS-KEY</value>
    </property>
    <property>
        <name>fs.s3a.secret.key</name>
        <value>SECRET-KEY</value>
    </property>
    <property>
        <name>fs.AbstractFileSystem.s3a.imp</name>
        <value>org.apache.hadoop.fs.s3a.S3A</value>
    </property>
    <property>
        <name>fs.s3a.multipart.size</name>
        <value>104857600</value>
        <description>Parser could not handle 100M. replacing with bytes. Maybe not needed after testing</description>
    </property>
    <property>
        <name>fs.s3a.endpoint</name>
        <value>s3.eu-central-1.amazonaws.com</value> 
        <description>Frankfurt</description>
    </property>
    <property>
        <name>fs.s3a.fast.upload.active.blocks</name>
        <value>4</value>
        <description>
    Maximum Number of blocks a single output stream can have
    active (uploading, or queued to the central FileSystem
    instance's pool of queued operations.

    This stops a single stream overloading the shared thread pool.
        </description>
    </property>
    <property>
        <name>fs.s3a.threads.max</name>
        <value>10</value>
        <description>The total number of threads available in the filesystem for data
    uploads *or any other queued filesystem operation*.</description>
    </property>

    <property>
        <name>fs.s3a.max.total.tasks</name>
        <value>5</value>
        <description>The number of operations which can be queued for execution</description>
    </property>

    <property>
        <name>fs.s3a.threads.keepalivetime</name>
        <value>60</value>
        <description>Number of seconds a thread can be idle before being terminated.</description>
    </property>
    <property>
        <name>fs.s3a.connection.maximum</name>
        <value>15</value>
    </property>
</configuration>
用法 创建拼花地板处理器。在属性集下

Hadoop配置资源:/home/nifi/s3conf/core-site.xml, 其他类路径资源:/home/nifi/s3libs, 目录:s3a://BUCKET\u NAME/folder/EL可用 压缩类型:测试时无,SNAPPY 删除CRC:true
流文件必须包含一个filename属性-没有花哨的字符或斜杠。

实际上可以使用拼花地板处理器

以下描述来自nifi-1.8中的工作流程

将以下LIB放入一个文件夹,例如home/nifi/s3libs/:

aws-java-sdk-1.11.455.jar+第三方LIB hadoop-aws-3.0.0.jar 创建一个xml文件,例如/home/nifi/s3conf/core-site.xml。可能需要一些额外的调整,请为区域使用正确的端点

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>s3a://BUCKET_NAME</value>
    </property>
    <property>
        <name>fs.s3a.access.key</name>
        <value>ACCESS-KEY</value>
    </property>
    <property>
        <name>fs.s3a.secret.key</name>
        <value>SECRET-KEY</value>
    </property>
    <property>
        <name>fs.AbstractFileSystem.s3a.imp</name>
        <value>org.apache.hadoop.fs.s3a.S3A</value>
    </property>
    <property>
        <name>fs.s3a.multipart.size</name>
        <value>104857600</value>
        <description>Parser could not handle 100M. replacing with bytes. Maybe not needed after testing</description>
    </property>
    <property>
        <name>fs.s3a.endpoint</name>
        <value>s3.eu-central-1.amazonaws.com</value> 
        <description>Frankfurt</description>
    </property>
    <property>
        <name>fs.s3a.fast.upload.active.blocks</name>
        <value>4</value>
        <description>
    Maximum Number of blocks a single output stream can have
    active (uploading, or queued to the central FileSystem
    instance's pool of queued operations.

    This stops a single stream overloading the shared thread pool.
        </description>
    </property>
    <property>
        <name>fs.s3a.threads.max</name>
        <value>10</value>
        <description>The total number of threads available in the filesystem for data
    uploads *or any other queued filesystem operation*.</description>
    </property>

    <property>
        <name>fs.s3a.max.total.tasks</name>
        <value>5</value>
        <description>The number of operations which can be queued for execution</description>
    </property>

    <property>
        <name>fs.s3a.threads.keepalivetime</name>
        <value>60</value>
        <description>Number of seconds a thread can be idle before being terminated.</description>
    </property>
    <property>
        <name>fs.s3a.connection.maximum</name>
        <value>15</value>
    </property>
</configuration>
用法 创建拼花地板处理器。在属性集下

Hadoop配置资源:/home/nifi/s3conf/core-site.xml, 其他类路径资源:/home/nifi/s3libs, 目录:s3a://BUCKET\u NAME/folder/EL可用 压缩类型:测试时无,SNAPPY 删除CRC:true
流文件必须包含一个filename属性-没有花哨的字符或斜杠。

@Martin,您可以使用一个非常方便的处理器ConvertAvroToParquet,我最近在Nifi中提供了它。应提供最新版本

此处理器的用途与您正在寻找的完全相同。有关此处理器的详细信息以及创建原因:


代码。

@Martin,你可以使用一个非常方便的处理器ConvertAvroToParquet,这是我最近在Nifi中提供的。应提供最新版本

此处理器的用途与您正在寻找的完全相同。有关此处理器的详细信息以及创建原因:


代码。

这是在Nifi-5706下捕获的。这是在Nifi-5706下捕获的