2017-10-26 1 views
0

아래 테이블에 "Final_table_temp"테이블의 필드를 거의 삽입하지 않고 두 개의 Insert 쿼리를 삽입했습니다. & Final_table2. 두 표적 표는 완전히 동일한 구조를가집니다. Final_table_temp에서unix_timestamp는 하이브에 대해 올바로 작동하지 않습니다

insert into Final_table1 
PARTITION(event_date,service_id) 
select from_unixtime(unix_timestamp(event_timestamp ,'yyyy-MM-dd HH'), 'yyyy-MM-dd HH:00:00.0'), 
from_unixtime(unix_timestamp(event_timestamp ,'yyyy-MM-dd HH'), 'yyyy-MM-dd') as event_date, 
service_id 
from Final_table_temp; 

insert into Final_table2 
PARTITION(event_date,service_id) 
select from_unixtime(unix_timestamp(event_timestamp ,'yyyy-MM-dd HH'), 'yyyy-MM-dd HH:00:00.0'), 
from_unixtime(unix_timestamp(event_timestamp ,'yyyy-MM-dd HH'), 'yyyy-MM-dd') as event_date, 
service_id 
from Final_table_temp; 

event_timestamp 값 : Final_table1에서

2017-10-26 22 

event_timestamp 값 : Final_table2에서

2017-10-26 22:00:00.000 

event_timestamp 값 :

2017-10-26 21:00:00.000 

운데 제발 도와주세요 왜 table2의 값을 변경하는지 확인하십시오. 그것도 같은 질문에 & 소스에서 변경되지 않습니다 table1과 동일해야합니까?


hive> desc extended Final_table1; 
OK 
event_timestamp   timestamp 
event_date    date 
service_id    int 

# Partition Information 
# col_name    data_type    comment 

event_date    date 
service_id    int 

Detailed Table Information  Table(tableName:Final_table1, dbName:rwdb, owner:hdfs, createTime:1496391931, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:event_timestamp, type:timestamp, comment:null), FieldSchema(name:event_date, type:date, comment:null), FieldSchema(name:service_id, type:int, comment:null)], location:hdfs://R333:8020/user/hive/warehouse/rwdb.db/Final_table1, inputFormat:org.apache.hadoop.hive.ql.io.orc.OrcInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.ql.io.orc.OrcSerde, parameters:{field.delim=,, serialization.format=,}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[FieldSchema(name:event_date, type:date, comment:null), FieldSchema(name:service_id, type:int, comment:null)], parameters:{transient_lastDdlTime=1496391931}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) 

======================================================= 
hive> desc extended Final_table2; 
OK 
event_timestamp   timestamp 
event_date    date 
service_id    int 

# Partition Information 
# col_name    data_type    comment 

event_date    date 
service_id    int 

Detailed Table Information  Table(tableName:Final_table2, dbName:rwdb, owner:hdfs, createTime:1509000492, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:event_timestamp, type:timestamp, comment:null), FieldSchema(name:event_date, type:date, comment:null), FieldSchema(name:service_id, type:int, comment:null)], location:hdfs://R333:8020/user/hive/warehouse/rwdb.db/Final_table2, inputFormat:org.apache.hadoop.hive.ql.io.orc.OrcInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.ql.io.orc.OrcSerde, parameters:{field.delim=,, serialization.format=,}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), partitionKeys:[FieldSchema(name:event_date, type:date, comment:null), FieldSchema(name:service_id, type:int, comment:null)], parameters:{transient_lastDdlTime=1509000492}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) 
+0

은 같은 시간대에있는 당신의 테이블? – VladoDemcak

+0

예 둘 다 동일한 시간대와 동일한 하이브 스키마에 있습니다. – Ashu

+0

DESCRIBE EXTENDED TABLEX의 출력은 무엇입니까? – VladoDemcak

답변

0

교체

"YYYY-MM-DD HH : 00 : 00.0 '와'YYYY-MM-DD HH : MM : ss.S '

+0

시간 부분은 어떻게 바뀌나요? – Ashu

+1

from_unixtime 대신 from_utc_timestamp를 사용해보세요. –

관련 문제