Hadoop 将数据从hdfs加载到配置单元会导致表中的空输出

Hadoop 将数据从hdfs加载到配置单元会导致表中的空输出,hadoop,hive,Hadoop,Hive,我试图使用配置单元序列化和反序列化查询将数据从HDFS加载到配置单元数据仓库中,但在从表结果检索空输出时 谁能帮我一下吗 hive>create table stations(usaf string, wban string, name string) >row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' >with SERDEPROPERTIES( >"input

我试图使用配置单元序列化和反序列化查询将数据从HDFS加载到配置单元数据仓库中,但在从表结果检索空输出时

谁能帮我一下吗

hive>create table stations(usaf string, wban string, name string)
    >row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
    >with SERDEPROPERTIES(
    >"input.regex" ="(\\d{6}) (\\d{5}) (.{29}) .*"
    >);

hive> load data inpath '/user/cloudera/input-new/ncdc/metadata/stations-fixed-width.txt'
    >into table stations;
从表中检索时

   hive>select * from stations limit 4;
结果:

   NULL NULL NULL
   NULL NULL NULL
   NULL NULL NULL
示例数据如下所示:

010014 99999 SOERSTOKKEN                   NO NO    ENSO  +59783 +005350 +00500
检查你-它只是正确的。 只是 在SERDEPROPERTIES中添加output.format.string,如下所示:

create table stations(usaf string, wban string, name string)
row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
with SERDEPROPERTIES(
"input.regex" ="(\\d{6}) (\\d{5}) (.{29}) .*",
"output.format.string" = "%1$s %2$s %3$s"
 )
;

请检查执行跟踪图像

感谢您的重播,我刚刚更新了查询并尝试,但未观察到任何更改..只获得了一系列空值..添加了执行跟踪图像。请检查,如果有用,请接受。