【问题标题】:Error in performing 'show create table' OpenCSV Serde Hive Table in Databricks在 Databricks 中执行“显示创建表”OpenCSV Serde Hive 表时出错
【发布时间】:2021-10-04 07:15:25
【问题描述】:

我在 DDL 下面的 Databricks 中使用 OpenCSV Serde 创建了一个表:-

    CREATE TABLE db_name.table_name( col1 String,
col2 String)
    ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    WITH SERDEPROPERTIES (
    "escapeChar"="\"",
    "quoteChar"="\"",
    "separatorChar"=",")
    LOCATION
    's3://s3_loc'
    TBLPROPERTIES('serialization.null.format'=''); 

表的创建没有任何问题,但是在尝试运行以下命令时:-

Show create table db_name.table_name

我收到以下错误消息:-

AnalysisException: Failed to execute SHOW CREATE TABLE against table `db_name`.`table_name`, which is created by Hive and uses the following unsupported serde configuration SERDE: org.apache.hadoop.hive.serde2.OpenCSVSerde INPUTFORMAT: org.apache.hadoop.mapred.TextInputFormat OUTPUTFORMAT: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

请提出解决方案。已在 Databricks 版本 6.4、7.1 和 8.4 上试用。

【问题讨论】:

    标签: apache-spark pyspark hive databricks aws-databricks


    【解决方案1】:

    改用以下内容:

    Show create table db_name.table_name AS SERDE
    

    来自https://github.com/apache/spark/blob/master/docs/sql-migration-guide.md

    在 Spark 3.0 中,SHOW CREATE TABLE table_identifier 始终返回 Spark DDL,即使给定的表是 Hive SerDe 表。要生成 Hive DDL,请改用 SHOW CREATE TABLE table_identifier AS SERDE 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多