博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive查询表,返回数据全是NULL
阅读量:5235 次
发布时间:2019-06-14

本文共 876 字,大约阅读时间需要 2 分钟。

情况1:

hive> create table users(id int, name string);

hive> load data local inpath '/usr/local/users.txt' into table users;

其中“/usr/local/users.txt”的内容为下面所示,每一行的(id,name)之间使用一个空格分割。

1 lee

2 jack
3 rose
4 marry
5 tom

hive> select * from users;

OK
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL

 

情况2:将情况1中文件“/usr/local/users.txt”的每一行(id,name)之间使用一个Tab键分割。

hive> select * from users;

OK
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL

 

情况3:将情况1中的命令

hive> create table users(id int, name string);

改为:

hive> CREATE TABLE users(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE;

其中TERMINATED BY ' '指定了数据分隔符是一个空格,与“/usr/local/users.txt”中每行分隔符一致。

hive> select * from users;

OK
1 lee
2 jack
3 rose
4 marry
5 tom

综上所述:hive 中创建表加载数据的时候,分隔符与加载文件中的分隔符需要一致,才能得到正确的查询结果.

 

转载于:https://www.cnblogs.com/followyourdream/p/6896766.html

你可能感兴趣的文章
代理ARP
查看>>
Python 的 sys 模块常用方法?
查看>>
Java hashCode() 方法深入理解 ...
查看>>
Modbus TCP 示例报文
查看>>
spring的annotation
查看>>
go 学习笔记(4) ---项目结构
查看>>
如何解决ORA-01033问题(转)
查看>>
分割线细线
查看>>
java 中的一些运算符问题
查看>>
c# 操作ftp
查看>>
css切换--使用cookie
查看>>
C#运算符之异或运算
查看>>
C语言与C++ <string.h> memchr出现的问题
查看>>
java中静态代码块的用法 static用法详解
查看>>
用于代码检查的错误列表
查看>>
Java线程面试题
查看>>
C#2.0 读word的多个表格到DataGridView或是其它控件 XP Vista
查看>>
sql script: Graphs, Trees, Hierarchies and Recursive Queries
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
Android中点中overlay弹出带尾巴的气泡的实现
查看>>