从 Twitter JSON 文件中提取列名称
Extracting Column name from Twitter JSON File
我正在尝试使用 hadoop 分析 Twitter 数据。我根据之前的推文创建了一个配置单元table。现在我又下载了推特数据,问题是推文中出现了新的列,而以前的推文数据中没有。我的问题是,有什么方法可以找到推文的最大列数,以便我可以为其创建配置单元 table。到目前为止无助请帮助
谢谢
我不知道要获取推文包含的所有列
我认为您应该使用像 AVRO 这样在内部存储元数据的存储格式并相应地更新模式,这样您就可以支持动态模式
如果你有 json 格式的推文,那么使用下面的查询
在 hive 中创建 table
CREATE EXTERNAL TABLE tweets (
id BIGINT,
created_at STRING,
source STRING,
favorited BOOLEAN,
retweet_count INT,
retweeted_status STRUCT<
text:STRING,
user:STRUCT<screen_name:STRING,name:STRING>>,
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'
LOCATION '/user/hive/warehouse/tweets';
下载 jar 形式 http://files.cloudera.com/samples/hive-serdes-1.0-SNAPSHOT.jar 并添加
ADD JAR /home/kishore/hive-0.9.0/lib/hive-serdes-1.0-SNAPSHOT.jar;
我正在尝试使用 hadoop 分析 Twitter 数据。我根据之前的推文创建了一个配置单元table。现在我又下载了推特数据,问题是推文中出现了新的列,而以前的推文数据中没有。我的问题是,有什么方法可以找到推文的最大列数,以便我可以为其创建配置单元 table。到目前为止无助请帮助 谢谢
我不知道要获取推文包含的所有列
我认为您应该使用像 AVRO 这样在内部存储元数据的存储格式并相应地更新模式,这样您就可以支持动态模式
如果你有 json 格式的推文,那么使用下面的查询
在 hive 中创建 tableCREATE EXTERNAL TABLE tweets (
id BIGINT,
created_at STRING,
source STRING,
favorited BOOLEAN,
retweet_count INT,
retweeted_status STRUCT<
text:STRING,
user:STRUCT<screen_name:STRING,name:STRING>>,
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'
LOCATION '/user/hive/warehouse/tweets';
下载 jar 形式 http://files.cloudera.com/samples/hive-serdes-1.0-SNAPSHOT.jar 并添加
ADD JAR /home/kishore/hive-0.9.0/lib/hive-serdes-1.0-SNAPSHOT.jar;