Sql 配置单元表格式如何查找给定的数据输入?
我用以下格式记录数据Sql 配置单元表格式如何查找给定的数据输入?,sql,hadoop,hive,Sql,Hadoop,Hive,我用以下格式记录数据 6856437950 11/16/2008 22:36:38 8204208990 1001004006044273 6715281120 11/16/2008 15:29:42 8132862237 1001004005059895 我创建的配置单元表如下所示 CREATE TABLE t2 (session_id STRING, date_time STRING, customer_id STRING) ROW FORMAT D
6856437950 11/16/2008 22:36:38 8204208990 1001004006044273
6715281120 11/16/2008 15:29:42 8132862237 1001004005059895
我创建的配置单元表如下所示
CREATE TABLE t2 (session_id STRING, date_time STRING, customer_id STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
当我将数据加载到表中并以以下格式显示其显示的内容时:
6856437950 11/16/2008 22:36:38 8204208990 1001004006044273 NULL NULL
6715281120 11/16/2008 15:29:42 8132862237 1001004005059895 NULL NULL
它显示行中的所有元素都被分配给变量session\u id,其余日期\u时间和客户\u id为空
我相信我在字段终止子句中犯了一个错误,但我不确定该为其赋值 配置单元(默认)>创建表t2(会话id字符串、日期时间字符串、客户id字符串)
行格式分隔
以“\t”结尾的字段
存储为文本文件;
好啊
所用时间:9.343秒
蜂巢(默认)>描述t2;
好啊
列名称数据类型注释
会话id字符串日期\时间字符串
客户id字符串
所用时间:0.319秒 配置单元(默认)>将数据本地INPATH'/tmp/input.txt'加载到表t2中; 从文件复制数据:/tmp/input.txt 复制文件:文件:/tmp/input.txt 将数据加载到表default.t2 好啊 所用时间:0.766秒 蜂巢(默认)>从t2中选择*; 嗯 所用时间:0.494秒
配置单元(默认值)检查行的末尾是否没有制表符,以及字段是否以制表符分隔。同时将会话id设置为int/long.karthik。你的问题很好。问题是您的输入没有正确的分隔符作为制表符。它与tab不完全相同。可能是一些空格。我以归档文件的形式执行了您的查询,效果很好。请检查下面。问题是“您的输入没有\t字段分隔符”@ramisetty.vijay我知道我的空间比“\t”多,但当我将字段分隔符更改为确切的空间量时,我得到如下输出:68564379506715281120@jtravaglini我在这行的末尾有“/n”。这也会影响吗?@karthik,“\n”是默认的行分隔符。如果您的输入记录都在单独的行中(我的意思是默认情况下有)。这不是问题所在。这里唯一的问题是输入中的列分隔符
session_id date_time customer_id
6856437950 11/16/2008 22:36:38 8204208990 1001004006044273
6715281120 11/16/2008 15:29:42 8132862237 1001004005059895