当前位置: 首页 > 知识库问答 >
问题:

如何转换传入的XML数据。使用flume将txt文件转换为Avro格式并保存到hdfs

夹谷和裕
2023-03-14

xml数据进入文本文件。将flume和kafka吸入hdfs并将其保存。txt文件格式。

退出用例:xml文件正在通过Flume→kafka→Flume拦截器摄取(验证有效模式与否)--

新的是:

我需要采取有效的kafka主题,需要编写自己的Flume拦截器将xml数据转换为avro格式并发送到→hdfs接收器(hdfs有效位置)最终输出需要为avro文件格式...

任何帮助都将不胜感激

提前感谢。。。

共有2个答案

鲜于星波
2023-03-14

您可能对使用apache AVRO JAVA API将XML转换为AVRO感兴趣-http://avro.apache.org/docs/1.8.2/gettingstartedjava.html

转换后,您可以在flume拦截器中使用此代码并编写AVRO文件,但您还需要有可以从XSD模式创建的AVRO模式。

我在springxd stream中做了类似的事情。

希望这能有所帮助

松高歌
2023-03-14

您可以使用apache kite morphlines拦截器将数据转换为avro

来看看这个

http://community.cloudera.com/t5/Kite-SDK-includes-Morphlines/Morphline-command-to-parse-xml/m-p/9378

https://community.cloudera.com/t5/Kite-SDK-includes-Morphlines/Flume-morphline-sink-to-HDFS/td-p/1787

我希望有帮助:)

 类似资料:
  • 问题内容: 我正在尝试使用iText库将.txt文件转换为.pdf文件。我面临的问题如下: 我在txt文件中有清晰的格式,与此类似: 在输出中,格式消失了,看起来像这样: 代码如下: 我还尝试使用IDENTITY_H创建BaseFont,但是它不起作用。我猜这是关于编码或类似的东西。你怎么看?我用完了解决方案… 谢谢 LE:正如艾伦(Alan)以及iText页面上的教程所建议的那样,除了我现有的代

  • 问题内容: 对于某些要求,我想将 文本文件(定界) 转换为 ORC(优化行列) 格式。由于必须定期运行它,因此我想编写一个 Java程序 来执行此操作。我不想使用Hive临时表解决方法。有人可以帮我吗?以下是我尝试过的 运行此命令将显示以下错误,并在本地生成一个名为 part-00000 的文件 问题答案: 您可以使用Spark数据帧非常轻松地将定界文件转换为orc格式。您还可以指定/施加模式并过

  • 我想将xml文件转换为avro。数据将采用xml格式,并将首先触及Kafka主题。然后,我可以使用flume或spark streaming来摄取xml并将其转换为avro,然后将文件放在hdfs中。我有一个cloudera环境。 当avro文件到达hdfs时,我希望能够稍后将它们读入hive表。 我想知道做这件事最好的方法是什么?我尝试过自动模式转换,比如spark avro(这没有spark流

  • 问题内容: 为了有效地利用Hadoop中的 map- reduce作业,我需要将数据以hadoop的序列文件格式存储。但是,当前数据仅是平面.txt格式。有人可以建议我将.txt文件转换为序列文件的方法吗? 问题答案: 因此,最简单的答案就是只有一个具有SequenceFile输出的“身份”工作。 在Java中看起来像这样:

  • 我正在尝试从位于的文件导入数据https://drive.google.com/file/d/1leOUk4Z5xp9tTiFLpxgk_7KBv3xwn5eW/view进入数据帧。我试过使用 但是我得到一个错误说"ParserError:错误标记化数据。C错误:期望在行231中有9个字段,看到10"我不想使用'error_bad_lines=False'并跳过数据行。 请帮忙。

  • 如何使用用户指定的架构将dataframe转换为Avro格式?