2016-12-13 64 views
0

我必須攝取由HDFS在蜂巢表數據創建表,但我不知道如何選擇下面提到的數據正確的數據類型: -如何選擇數據類型爲蜂巢

  1. $ 34740 $ $ $ Disrupt Worldwide LLC $#$ 40425 $#$ null $#$ 13 $#$ 6 $#$ 317903 $#$ null $#$ Scott Bodily $#$ + $#$ null $#$ 10 $#$ 0 $#$ 1 $#$ 0 $#$ disruptcentral.com $#$ null $#$ null $#$ 1 $#$ null $#$ null $#$ null $#$ Scott Bodily $#$ 1220DB56-56D7-E411-80D6-005056A451E3 $#$ true $ $ 34741 $#$ The Top Tipster Leagues Limited $#$ 35605 $#$ null $#$ 13 $#$ 7 $#$ 317902 $#$ null $#$ AM Support Team $#$ + 447886 027371 $#$ null $#$ 1 $#$ 1 $#$ 1 $#$ 0 $#$ www.toptipsterleagues.com,www.toptipsterleagues.co.uk,http://test.toptipsterleague.com $#$ Jamil Johnson $#$ Cheng Liem Li $#$ 1 $#$ 0.70 $#$ 1.50 $#$ 1.30 $#$波諾麪包車Nijnatten $#$ 0B758BF9-F1D6-E411-80D7-005056A44C5C $#$ $真的
+0

據我所知,你在上面的數據集中使用了什麼分隔符? – Farooque

+0

我使用了多分隔符'$#$'。 – Rani

+0

您如何處理記錄中的第一個和最後一個$字符? – Farooque

回答

0

請參閱此鏈接爲不同的數據類型,

Click here

除了所有的數字和小數點字段可以使用STRING數據類型。對於基於範圍和精度的數字字段,可以使用INTDECIMAL

使用字符串和varchar或其他任何字符串數據類型將讀取你的數據串即「null」空處理NUL你應該提到表格的屬性,如下面,

ALTER TABLE tablename SET 
SERDEPROPERTIES ('serialization.null.format' = 'null'); 

讓我知道如果有什麼需要這個。

+0

當我sholud使用varchar,字符串和字符在這裏有一些列有數據以及空,但當我試圖使用varchar for該列它給了我正確的結果,但得到null爲「空」(這是雙引號)我怎麼能刪除這(雙引號)「空」爲空。 – Rani

+0

使用varchar和字符串是好的,但它讀取爲null的字符串像「null」。檢查我更新的答案。 –

+0

我試過上面的命令「ALTER TABLE tablename SET SERDEPROPERTIES('serialization.null.format'='null');」但是出現錯誤。 – Rani