如何从twitter读取flume生成的数据文件

kkbh8khc  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(553)

我使用flume在hdfs上生成了一些twitter数据日志文件,日志文件的实际格式是什么?我期待的是json格式的数据。但看起来是这样的。有人能帮我读一下这些数据吗?或者我这样做有什么不对

2eafrhcq

2eafrhcq1#

在配置单元中使用with serde创建一个表,然后将twitter日志数据加载到配置单元表中。然后分析一下。

cnwbcb6i

cnwbcb6i2#

从这个链接下载文件(hive-serdes-1.0-snapshot.jar)
http://files.cloudera.com/samples/hive-serdes-1.0-snapshot.jar
然后将此文件放在$hive\u home/lib中
把jar放进Hive壳里

hive> ADD JAR file:///home/hadoop/work/hive-0.10.0/lib/hive-serdes-1.0-SNAPSHOT.jar

在配置单元中创建表

hive> CREATE TABLE tweets (
id BIGINT,
created_at STRING,
source STRING,
favorited BOOLEAN,
retweeted_status STRUCT<
text:STRING,
user:STRUCT<screen_name:STRING,name:STRING>,
retweet_count:INT>,
entities STRUCT<
urls:ARRAY<STRUCT<expanded_url:STRING>>,
user_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,
hashtags:ARRAY<STRUCT<text:STRING>>>,
text STRING,
user STRUCT<
screen_name:STRING,
name:STRING,
friends_count:INT,
followers_count:INT,
statuses_count:INT,
verified:BOOLEAN,
utc_offset:INT,
time_zone:STRING>,
in_reply_to_screen_name STRING
) 
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe';

从hdfs将数据加载到表中

hive> load data inpath '/home/hadoop/work/flumedata' into table tweets;

现在分析下表中的twitter数据

hive> select id,text,user from tweets;

您完成了,但它是反序列化的数据,现在从配置单元表序列化。。

相关问题