Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 配置单元表格式如何查找给定的数据输入?_Sql_Hadoop_Hive - Fatal编程技术网

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