Hive 使用配置单元筛选用于分析的JSON数据

Hive 使用配置单元筛选用于分析的JSON数据,hive,Hive,我们如何过滤JSON数据,以便只将所选字段放入文件,然后使用此文件进行进一步分析。您必须使用带有JSON元组的横向视图 json_tuple()UDTF是在Hive 0.7中引入的。它接受一组名称(键)和一个JSON字符串,并使用一个函数返回一个值元组 CREATE EXTERNAL TABLE twitterdata ( json STRING ) LOCATION 'hdfs path'; 本地文件系统上的If文件 LOAD DATA LOCAL INPATH 'local p

我们如何过滤JSON数据,以便只将所选字段放入文件,然后使用此文件进行进一步分析。

您必须使用带有JSON元组的横向视图

json_tuple()UDTF是在Hive 0.7中引入的。它接受一组名称(键)和一个JSON字符串,并使用一个函数返回一个值元组

CREATE  EXTERNAL  TABLE twitterdata
(
json STRING 
)
LOCATION  'hdfs path';
本地文件系统上的If文件

  LOAD DATA LOCAL INPATH 'local path to file' [OVERWRITE] INTO TABLE twitterdata;
hdfs上的If文件

LOAD DATA INPATH 'hdfs path to file' [OVERWRITE] INTO TABLE twitterdata
创建目标表,您可以从中进行进一步分析

 CREATE  EXTERNAL  TABLE targettable
 (
    text string,
    name string,
    userid string
 )
LOCATION  'hdfs path';
现在使用json\u元组加载数据

INSERT OVERWRITE TABLE targettable
    select a.text
        ,a.name
        ,a.userid
    from twitterdata t.json
    LATERAL VIEW json_tuple (t.json,'text','name','userid')a
    as text,name.userid;

完成

必须将横向视图与json\u元组一起使用

json_tuple()UDTF是在Hive 0.7中引入的。它接受一组名称(键)和一个JSON字符串,并使用一个函数返回一个值元组

CREATE  EXTERNAL  TABLE twitterdata
(
json STRING 
)
LOCATION  'hdfs path';
本地文件系统上的If文件

  LOAD DATA LOCAL INPATH 'local path to file' [OVERWRITE] INTO TABLE twitterdata;
hdfs上的If文件

LOAD DATA INPATH 'hdfs path to file' [OVERWRITE] INTO TABLE twitterdata
创建目标表,您可以从中进行进一步分析

 CREATE  EXTERNAL  TABLE targettable
 (
    text string,
    name string,
    userid string
 )
LOCATION  'hdfs path';
现在使用json\u元组加载数据

INSERT OVERWRITE TABLE targettable
    select a.text
        ,a.name
        ,a.userid
    from twitterdata t.json
    LATERAL VIEW json_tuple (t.json,'text','name','userid')a
    as text,name.userid;

完成

请提供您所做的以及相同的输入/输出。我正在尝试分析twitter数据以及我为“ApacheSpark”获得的推文密钥。我已经得到了包含twitter推文的文件。JSON数据有许多字段,如filter_level、retweeted、truncated、lang等。我如何过滤它,使其只在文件中存储一些字段,如文本、名称、用户ID等,以便我可以使用该文件进行进一步分析。请提供您所做的工作以及相同的输入/输出。我正在尝试分析推特数据和“apache spark”的推特密钥。我已经得到了包含twitter推文的文件。JSON数据有许多字段,如filter_level、retweeted、truncated、lang等。我如何过滤它,使其只在文件中存储一些字段,如文本、名称、用户ID等,以便使用该文件进行进一步分析。