hive建表時對字段間分割符的限制

2021-07-11 13:48:31 字數 1626 閱讀 9166

1、資料檔案中,每一行的字段用@$_$@來區分,於是測試資料可以這樣:

1@$_$@xu@$_$@30@$_$@student

2、建立表的語句

create external table user_table (userid string,username string,age string,title string ) row format delimited  fields terminated by '@$_$@';

3、匯入測試資料

load data local inpath /home/hadoop/xuguokun/test.txt into table user_table;

4、檢視資料

hive> select * from user_table;

ok1 $_$ xu $_$

time taken: 0.146 seconds, fetched: 1 row(s)

5、結果不像預期的那樣,顯然是不正確的。

6、調整字段之間的分割符,並建立新錶

create external table student_table (userid string,username string,age string,title string ) row format delimited  fields terminated by ',';

7、匯入測試資料

load data local inpath /home/hadoop/xuguokun/test.txt into table student_table;

8、檢視資料

hive> select * from student_table;

ok1 xu 30 student

time taken: 0.172 seconds, fetched: 1 row(s)

9、怎麼一回事呢?

10、調整字段之間的分割符,並建立新錶

create external table teacher_table (userid string,username string,age string,title string ) row format delimited  fields terminated by ',,';

11、匯入測試資料

load data local inpath /home/hadoop/xuguokun/test.txt into table teacher_table

;

12、檢視結果

hive> select * from teacher_table;

ok1 xu

time taken: 0.111 seconds, fetched: 1 row(s)

13、最終原因沒能確定,難道是分隔符不能是多個字元的組合?

Hive建表時指定分隔符或使用多字元分隔

不知道你是否會有會這樣的苦惱,就是從hdfs或者file中匯入資料到hive建數倉的時候,因為資料是資料流前段的小gg用特殊符號分隔的,然後導致你匯入資料時一臉矇圈?這篇教程可能會幫到你。首先我們明確,我們是在建表的時候就指定了匯入資料時的分隔符的,建表的時候會有三種場景需要考慮 1 正常建表 de...

使用hive建庫建表時提示如下錯誤的解決辦法

錯誤如下 解決辦法 登入linux上的mysql 安裝在哪一台就在哪一台上啟動 mysql uroot p 接著mysql drop database hive query ok,1 row affected 0.13 sec mysql create database hive query ok,...

資料庫建表時字段長度

2016 5 4 基本知識點 1.計算機儲存資訊的基本單位是位元組 2.乙個漢字佔兩個位元組,乙個字母或數字佔乙個位元組 3.字元 計算機中字,字母等的統稱 以char 6 為例 測試如下 測試環境 sql 8.0 create student 學號 char 6 not null primary ...