запись улья вставлена, но затем появляется ошибка - PullRequest
0 голосов
/ 24 октября 2018

Я создаю таблицу в улье:

CREATE TABLE `test3`.`shop_dim`  ( 
    `shop_id`               bigint, 
    `shop_name`             string, 
    `shop_company_id`       bigint, 
    `shop_url1`             string, 
    `shop_url2`             string, 
    `sid`                   string, 
    `shop_open_duration`    string, 
    `date_modified`         timestamp)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' WITH SERDEPROPERTIES ("path"="hdfs://myhdfs/warehouse/tablespace/managed/hive/test3.db/shop_dim")
STORED AS PARQUET
TBLPROPERTIES ('COLUMN_STATS_ACCURATE'='{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"date_modified\":\"true\",\"shop_company_id\":\"true\",\"shop_id\":\"true\",\"shop_name\":\"true\",\"shop_open_duration\":\"true\",\"shop_url1\":\"true\",\"shop_url2\":\"true\",\"sid\":\"true\"}}', 'bucketing_version'='2', 'numFiles'='12', 'numRows'='12', 'rawDataSize'='96', 'spark.sql.create.version'='2.3.0', 'spark.sql.sources.provider'='parquet', 'spark.sql.sources.schema.numParts'='1', 'spark.sql.sources.schema.part.0'='{\"type\":\"struct\",\"fields\":[{\"name\":\"Shop_id\",\"type\":\"long\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Shop_name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Shop_company_id\",\"type\":\"long\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Shop_url1\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Shop_url2\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"sid\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Shop_open_duration\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"Date_modified\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{}}]}', 'totalSize'='17168')
GO

, затем вставляю запись использования ниже sql:

insert into test3.shop_dim values(11,'aaa',22,'11113','2222','sid','opend',unix_timestamp())

Я вижу, что запись вставлена, но долго ждалавремя, есть ошибка:

>[Error] Script lines: 1-2 --------------------------
 Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.StatsTask 

 [Executed: 2018-10-24 下午12:00:03] [Execution: 0ms] 

Я использую Aqua Studio в качестве инструмента. Почему эта ошибка возникает?

1 Ответ

0 голосов
/ 22 мая 2019

Эта проблема может возникнуть, если вставляемые значения не соответствуют ожидаемому типу.В вашем случае столбец «date_modified» имеет тип отметки времени, но unix_timestamp () вернет bigint (текущую отметку времени Unix в секундах).

Если вы выполните запрос

select unix_timestamp();

Вывод будеткак: 1558547043

Вместо этого вам нужно использовать current_timestamp.

select current_timestamp;

Вывод будет выглядеть так: 2019-05-22 17: 50: 18.803

Вы можете обратитьсяРуководство по кустам для встроенных функций даты в https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...