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

如何将所有收集的推文提取到一个文件中

戚研
2023-03-14

我用Flume收集推文,并存储在HDFS上。收集部分工作正常,我可以在我的文件系统中找到我所有的推文。

正如我们所看到的,推文存储在128MB的块中,但只使用几个Ko,这是HDFS的正常行为,如果我错了,请纠正我。

然而,我如何在一个文件中获取所有不同的推文?

这是我使用以下命令运行的conf文件:

flume ng agent-n TwitterAgent-f./my flume files/twitter-stream-tvseries.conf

推特-流媒体-电视剧.conf :

TwitterAgent.sources = Twitter

TwitterAgent.channels=MemChannel

TwitterAgent.sinks = HDFS

Twitter agent . sources . Twitter . type = org . Apache . flume . source . Twitter . Twitter . Twitter source Twitter agent . sources . Twitter . consumer key = hidden Twitter agent . sources . Twitter . consumer secret = hidden Twitter agent . sources . Twitter . accesstoken = hidden Twitter agent . sources . Twitter . accesstokensecret = hidden Twitter agent . sources . Twitter . keywords = GoT,GameofThrones

TwitterAgent.sources.Twitter.keywords=GoT, GameofThrones

Twitter agent . sinks . HDFS . channel = MemChannel Twitter agent . sinks . HDFS . type = HDFS Twitter agent . sinks . HDFS . HDFS . path = HDFS://IP-addressl:8020/user/root/data/Twitter/TV series/tweets Twitter agent . sinks . HDFS . filetype = DataStream Twitter agent . sinks . HDFS . HDFS . write format = Text Twitter agent . sinks . HDFS . batch size = 1000 Twitter agent . sinks

TwitterAgent.channels.EmChannel。type=内存TwitterAgent.channels.EmChannel。容量=10000 TwitterAgent.channels.MemChannels.transactionCapacity=1000

TwitterAgent.sources.Twitter.channels = MemChannel TwitterAgent.sinks.HDFS.channel = MemChannel

共有2个答案

郑衡
2023-03-14

可以使用以下命令将文件连接为单个文件:

find . -type f -name 'FlumeData*' -exec cat {} + >> output.file

或者,如果您想将数据存储到Hive表中以供以后分析,请创建一个外部表并将其使用到Hive DB中。

杜思远
2023-03-14

您可以将 HDFS 接收器配置为按时间、事件或大小生成消息。因此,如果要保存多条消息直到达到120MB的限制,请设置

hdfs.rollInterval = 0 # This is to create new file based on time
hdfs.rollSize = 125829120 # This is to create new file based on size
hdfs.rollCount = 0 # This is to create new file based on events (different tweets in your case)
 类似资料:
  • 我想使用tweepy收集所有英文推文。这里可以用Twitter搜索api,但是不知道API的‘查询’部分要给什么。根据文件,我知道这部分是必需的。 如何处理此查询部分并收集所有英文推文?

  • 我正在使用Gson 2.8.1+(如果需要,我可以升级)。 如果我有JSONObject: ...如何有效地将此转换为表单:

  • 问题内容: 这个问题已经在这里有了答案 : 使用Java将文件从一个目录复制到另一个目录 (33个答案) 4年前关闭。 如何将一个文件夹及其所有子文件夹和文件复制到另一个文件夹中? 问题答案: Apache Commons IO可以为您解决问题。看看FileUtils。

  • 可能重复: gzip一组目录并创建tar压缩文件 这篇文章描述了如何在一个目录结构中分别gzip每个文件。然而,我需要做一些稍微不同的事情。我需要为某个目录下的所有文件生成一个大的gzip文件。我还需要能够为压缩文件(例如files.gz)指定输出文件名,并覆盖旧的压缩文件(如果已经存在)。

  • 问题内容: 我需要从文件夹中读取所有“ .txt”文件(用户需要选择此文件夹)。 请告知如何做? 问题答案: 您可以使用类,这是非常简单的用法 只需创建一个实例,您想要如何覆盖接受方法

  • 我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码