Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2018-09-22, 20:36

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 4 篇文章 ] 
發表人 內容
 文章主題 : 資料處理問題
文章發表於 : 2016-03-28, 18:39 
離線

註冊時間: 2015-11-10, 00:43
文章: 16
請問各位大大

小的在研究之初便有一個很大的疑問

假如有一筆資料龐大到EXCEL無法開啟

那麼無論是匯入MYSQL或是HIVE中

因為無法得知EXCEL中的COLUMN

因此無法在HIVE或MYSQL中創建相對應的COLUMN 再進行匯入的動作

那麼想請問實際再遇到如此的情況中

是如何進行資料匯入?

請各位大大幫忙解惑Q_Q


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 資料處理問題
文章發表於 : 2016-03-30, 00:02 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
GGG 寫:
請問各位大大
小的在研究之初便有一個很大的疑問
假如有一筆資料龐大到EXCEL無法開啟
那麼無論是匯入MYSQL或是HIVE中
因為無法得知EXCEL中的COLUMN
因此無法在HIVE或MYSQL中創建相對應的COLUMN 再進行匯入的動作
那麼想請問實際再遇到如此的情況中
是如何進行資料匯入?
請各位大大幫忙解惑Q_Q


不太懂,首先,格式如果是「純文字」,例如 CSV
好歹知道有多少「欄」吧?例如,總欄位個數是 5 萬個?
這在 Hive 也不會無法處理啊~頂多就是名稱用 col1, col2, col3, ...., col50000 代表每一欄。

Schema 是 Schema, Schema 決定 Column (欄)
Row 是 Row (每一筆)

假設有 CSV 有 100 萬行(row),每行有 5 萬個整數值(Ex. 1,2,3,.....,50000)
那用 Hive 就是 create table ( col1 INT, col2 INT, ..... col50000 INT ) 這樣就可以解啊。
你若是問題是那這個語法怎麼產生?那也只好用程式產生啊~
像這個 SQL 就是我用程式產生的
https://gist.github.com/jazzwang/c9e71a2a051ccd4ac418

那如果每一行的資料型態不固定呢?例如:有整數、有浮點數、有字串
那就是用程式判斷囉,根據「分隔符號(例如逗點或跳格符合)」將單一行斷開
得到的每一欄,用正規表示法,判斷有沒有「小數點」,
若有,型態就是浮點數 FLOAT
若沒有,判斷是否全部都是「數字」
若全是數字,那型態就是整數 INT
若非全是數字,那型態就先定為字串 STRING

實務上就用這些手法,來處理超大維度的資料囉~

- Jazz


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 資料處理問題
文章發表於 : 2016-04-06, 16:21 
離線

註冊時間: 2015-11-10, 00:43
文章: 16
不是很懂,
意思是業界匯入表時,都會放棄columns的名字嗎?
因為若沒有columns的名字,怎麼得知該欄內的值意義為何?
不知意義為何,該如何進行下一步的分析資料呢?

搜哩~傳達不清,
麻煩大大了。


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 資料處理問題
文章發表於 : 2016-04-09, 16:10 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
GGG 寫:
不是很懂,
意思是業界匯入表時,都會放棄columns的名字嗎?
因為若沒有columns的名字,怎麼得知該欄內的值意義為何?
不知意義為何,該如何進行下一步的分析資料呢?

搜哩~傳達不清,
麻煩大大了。


實際上並沒有「放棄」column name,實務上比較怕的是多個表格有相同的 column name 吧?
有一些 CSV 第一行會有 header 提供 column name

代碼:
solt_id, w0001_s1, w0001_s2, ....., w1508_s1, w1508_s3
20160409157432,5031.89, 7342.88, ........, 1604.50, 4516.07


這樣也可以用程式把 header 轉成 HiveQL 的 create table 語法啊~

況且,column name 也不是每一家都會用可以直接理解的命名方式。
以前看過某 ERP 軟體的 Table 都是 MX001, TA001 這種
鐵定要搭配其他資訊來說明那一欄是甚麼意義,那叫做 water_temperature 跟命名為 col_050 有差嗎?
只要知道 col_050 是水溫, 那還是可以作分析啊。

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 4 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作