2017-09-23 49 views
-1

看我試圖分析太多文件到一個HIVE表中。關鍵的見解,我正在與json文件和表結構是:將多個文件加載到HIVE表中

CREATE EXTERNAL TABLE test1 
(
STATIONS ARRAY<STRING>, 
SCHEMESUSPENDED STRING, 
TIMELOAD TIMESTAMP 
) 
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' 
LOCATION '/user/andres/hive/bixihistorical/'; 

我需要加載大約50個文件具有相同的結構所有這些。我試過這樣的東西:

LOAD DATA INPATH '/user/andres/datasets/bixi2017/*.json' 
OVERWRITE INTO TABLE test1; 

LOAD DATA INPATH '/user/andres/datasets/bixi2017/*' 
OVERWRITE INTO TABLE test1; 

LOAD DATA INPATH '/user/andres/datasets/bixi2017/' 
OVERWRITE INTO TABLE test1; 

上述任何一個工作,任何想法傢伙應該如何去通過? 非常感謝

回答

0

我太......所以,我只記得你可以創建一個外部表存儲在同一個文件夾中具有相同結構的所有文件都位於。所以,這樣我就可以在一次拍攝中加載整個記錄。

> CREATE EXTERNAL TABLE bixi_his 
> (
> STATIONS ARRAY<STRUCT<id: INT,s:STRING,n:string,st:string,b:string,su:string,m:string,lu:string,lc:string,bk:string,bl:string,la:float,lo:float,da:int,dx:int,ba:int,bx:int>>, 
> SCHEMESUSPENDED STRING, 
> TIMELOAD BIGINT 
>) 
> ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' 
> LOCATION '/user/ingenieroandresangel/datasets/bixi2017/'; 

感謝

1

確保文件夾只包含其需要的文件被加載到蜂巢表。

創建外部表TEST1 ( STATIONS ARRAY, SCHEMESUSPENDED STRING, TIMELOAD TIMESTAMP ) 行格式SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATION「/用戶/安德烈/蜂巢/ bixihistorical /';

LOAD DATA INPATH'/ user/andres/datasets/bixi2017 /' OVERWRITE INTO TABLE test1;

+0

我試過這個看看我發佈的例子。所以我所做的就是在創建表中將目標定位到文件存儲庫!謝謝 –

相關問題