我使用flume在hdfs上生成了一些twitter数据日志文件,日志文件的实际格式是什么?我期待的是json格式的数据。但看起来是这样的。有人能帮我读一下这些数据吗?或者我这样做有什么不对
2eafrhcq1#
在配置单元中使用with serde创建一个表,然后将twitter日志数据加载到配置单元表中。然后分析一下。
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;
您完成了,但它是反序列化的数据,现在从配置单元表序列化。。
2条答案
按热度按时间2eafrhcq1#
在配置单元中使用with serde创建一个表,然后将twitter日志数据加载到配置单元表中。然后分析一下。
cnwbcb6i2#
从这个链接下载文件(hive-serdes-1.0-snapshot.jar)
http://files.cloudera.com/samples/hive-serdes-1.0-snapshot.jar
然后将此文件放在$hive\u home/lib中
把jar放进Hive壳里
在配置单元中创建表
从hdfs将数据加载到表中
现在分析下表中的twitter数据
您完成了,但它是反序列化的数据,现在从配置单元表序列化。。