我有一個java卡夫卡消費者,從卡夫卡消費avro數據[說主題x]。它應該將這些數據推送到HDFS,因爲它不需要代碼生成。在Avro公司documentation他們使用類似以下內容:寫AVRO數據到Hadoop hdfs
GenericRecord e1 = new GenericData.Record(schema);
e1.put("key", "value");
DatumWriter<GenericRecord> datumWriter = new GenericDatumWriter<GenericRecord>(schema);
DataFileWriter<GenericRecord> dataFileWriter = new DataFileWriter<GenericRecord>(datumWriter);
dataFileWriter.create(schema, new File("<HDFS file path>"));
dataFileWriter.append(e1);
dataFileWriter.close();
問題的,這是,我已經有Avro的數據。要使用這一系列步驟,我必須在反序列化avro數據包之後提取每個鍵 - 值對,然後將其推送到GenericRecord對象,我認爲這沒有任何意義。我沒有找到任何我想要實現的例子。任何提示或鏈接到相關文件非常感謝。
您有沒有考慮使用Kafka內置的Kafka Connect框架結合現有的Kafka-> HDFS連接器,如[kafka-connect-hdfs](https:// github .COM/confluentinc /卡夫卡連接-HDFS)?鏈接的HDFS接收器連接器支持Avro開箱即用。 –
由於一些模式註冊問題,我們已經從融合中移除。所以我不能使用融合框架。 – Bitswazsky
關心詳細說明您已經遇到的模式註冊表問題?當然也可以通過https://github.com/confluentinc/schema-registry/issues完成。 –