Pyspark 无法在Azure DataRicks中创建具有时间戳数据类型的配置单元表
org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.UnsupportedOperationException:拼花地板不支持 时间戳。见HIVE-6384 在Azure Databricks中执行以下代码时出现上述错误Pyspark 无法在Azure DataRicks中创建具有时间戳数据类型的配置单元表,pyspark,hive,parquet,azure-databricks,Pyspark,Hive,Parquet,Azure Databricks,org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.UnsupportedOperationException:拼花地板不支持 时间戳。见HIVE-6384 在Azure Databricks中执行以下代码时出现上述错误 spark_session.sql(""" CREATE EXTERNAL TABLE IF NOT EXISTS dev_db.proce
spark_session.sql("""
CREATE EXTERNAL TABLE IF NOT EXISTS dev_db.processing_table
(
campaign STRING,
status STRING,
file_name STRING,
arrival_time TIMESTAMP
)
PARTITIONED BY (
Date DATE)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION "/mnt/data_analysis/pre-processed/"
""")
根据Jira,从Hive-1.2开始,您可以在拼花地板表中使用时间戳、日期类型
蜂巢<1.2版本的变通方法:
1。使用字符串类型:
然后,在处理过程中,您可以将到达时间
,日期
转换为时间戳
,日期
类型
使用视图
并强制转换列,但视图速度较慢。
2。使用ORC格式:
ORC同时支持
时间戳
,日期
类型您知道如何在Azure Datatricks中更新hive metastore版本吗
CREATE EXTERNAL TABLE IF NOT EXISTS dev_db.processing_table
(
campaign STRING,
status STRING,
file_name STRING,
arrival_time STRING
)
PARTITIONED BY (
Date STRING)
Stored as parquet
Location '/mnt/data_analysis/pre-processed/';
CREATE EXTERNAL TABLE IF NOT EXISTS dev_db.processing_table
(
campaign STRING,
status STRING,
file_name STRING,
arrival_time Timestamp
)
PARTITIONED BY (
Date date)
Stored as orc
Location '/mnt/data_analysis/pre-processed/';