Hive table 为嵌套的 CSV 数据创建
Hive table creating for nested CSV data
我有以下数据如何为以下数据创建配置单元 table,以上数据应该仅由 3 列 id、sal、name 创建。
1,1000,sdadada
2,2000,sadssaa
3,3000,dasasa,daaaas
试试吧,它会解决你的问题。
这是我的数据文件包含:
vivekanand@sys:~/vivek/stack$ cat test.dat
1,1000,sdadada
2,2000,sadssaa
3,3000,dasasa,daaaas
现在您的解决方案就在这里。
hive> create table table_1(
> id int,
> sal int,
> name string)
> row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
> WITH SERDEPROPERTIES ('input.regex'='^(\d+)\,([^\,]*)\,(\S+).*');
OK
Time taken: 0.331 seconds
hive> load data local inpath '/home/vivekanand/vivek/stack/test.dat' into table table_1;
Loading data to table default.table_1
OK
Time taken: 0.162 seconds
hive> select * from table_1;
OK
1 1000 sdadada
2 2000 sadssaa
3 3000 dasasa,daaaas
Time taken: 0.067 seconds, Fetched: 3 row(s)
我有以下数据如何为以下数据创建配置单元 table,以上数据应该仅由 3 列 id、sal、name 创建。
1,1000,sdadada
2,2000,sadssaa
3,3000,dasasa,daaaas
试试吧,它会解决你的问题。
这是我的数据文件包含:
vivekanand@sys:~/vivek/stack$ cat test.dat
1,1000,sdadada
2,2000,sadssaa
3,3000,dasasa,daaaas
现在您的解决方案就在这里。
hive> create table table_1(
> id int,
> sal int,
> name string)
> row format serde 'org.apache.hadoop.hive.serde2.RegexSerDe'
> WITH SERDEPROPERTIES ('input.regex'='^(\d+)\,([^\,]*)\,(\S+).*');
OK
Time taken: 0.331 seconds
hive> load data local inpath '/home/vivekanand/vivek/stack/test.dat' into table table_1;
Loading data to table default.table_1
OK
Time taken: 0.162 seconds
hive> select * from table_1;
OK
1 1000 sdadada
2 2000 sadssaa
3 3000 dasasa,daaaas
Time taken: 0.067 seconds, Fetched: 3 row(s)