Недавно мы заархивировали данные улья на s3 (формат данных или c), но когда запрос данных по athena получил какую-то ошибку.
при выполнении select * from ta_event_10 limit 1
, запрос Athena получил ошибку, ошибка, подобная этой:
HIVE_BAD_DATA: тип поля # event_time TIMESTAMP в OR C несовместим с типом varchar, определенным в схеме таблицы
Кроме того, некоторые sql может работать, но результат неправильный, такой как select "#event_time" from ta_event_10 limit 10
.
куст show create table
:
CREATE TABLE `ta.ta_event_10`(
`#user_id` bigint,
`#event_name` string,
`#event_time` timestamp,
`#app_id` string,
`#account_id` string,
`#distinct_id` string,
`#server_time` timestamp,
`#kafka_offset` bigint,
`#device_id` string,
`version_code` double,
`#province` string,
`#device_model` string,
`#city` string,
`channel` string,
`launchsource` string,
`flavor` string,
`#app_version` string,
`#os` string,
`#country_code` string,
`#ip` string,
`#os_version` string,
`#manufacturer` string,
`#country` string,
`version_name` string,
`vpn` string,
`parallelversion` string,
`segmentid` string,
`user_dimen` double,
`packagename` string,
`packageversion` string,
`installsource` string,
`packagelabel` string,
`isrunning` string,
`payment_platform` string,
`buy_status` string,
`productid` string,
`orderid` string,
`#zone_offset` double)
PARTITIONED BY (
`$part_event` string,
`$part_date` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION
'hdfs://ta2/user/hive/warehouse/ta.db/ta_event_10'
TBLPROPERTIES (
'presto_query_id'='20200113_034929_06651_2dhiw',
'presto_version'='316-ta',
'transient_lastDdlTime'='1578887369')
Афина show create table
:
CREATE EXTERNAL TABLE `ta_event_10`(
`#user_id` bigint,
`#event_name` string,
`#event_time` timestamp,
`#app_id` string,
`#account_id` string,
`#distinct_id` string,
`#server_time` timestamp,
`#kafka_offset` bigint,
`#device_id` string,
`version_code` double,
`#province` string,
`#device_model` string,
`#city` string,
`channel` string,
`launchsource` string,
`flavor` string,
`#app_version` string,
`#os` string,
`#country_code` string,
`#ip` string,
`#os_version` string,
`#manufacturer` string,
`#country` string,
`version_name` string,
`vpn` string,
`parallelversion` string,
`segmentid` string,
`user_dimen` double,
`packagename` string,
`packageversion` string,
`installsource` string,
`packagelabel` string,
`isrunning` string,
`payment_platform` string,
`buy_status` string,
`productid` string,
`orderid` string,
`#zone_offset` double)
PARTITIONED BY (
`$part_event` string,
`$part_date` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
LOCATION
's3://test-ta-export/ta_event_10'
TBLPROPERTIES (
'transient_lastDdlTime'='1583763184')
Поле "# event_time" оба имеют тип отметки времени.
Я ищу один или c метаданные файла по orc-metadata
, они выглядят так:
Улей первого использования и Афина.