【问题标题】:Azure Databricks Spark table from multiple files来自多个文件的 Azure Databricks Spark 表
【发布时间】:2018-08-31 18:51:31
【问题描述】:

我已经能够像这样在单个 XML 文件上创建表

CREATE TABLE mytab
USING com.databricks.spark.xml
OPTIONS (
  path "/mnt/srcdir/myxmlfile.xml",
  rowTag "xmltag")

但我在一个目录中有多个 XML 文件,我想将它们全部加载到单个表“mytab”中。我尝试了以下并失败了

CREATE TABLE mytab
USING com.databricks.spark.xml
OPTIONS (
  path "/mnt/srcdir/",
  rowTag "xmltag")

下面是异常堆栈跟踪的sn-p

SQL 语句错误:SparkException:作业因阶段失败而中止:阶段 0.0 中的任务 9 失败 4 次,最近一次失败:阶段 0.0 中丢失任务 9.3(TID 17、10.139.64.4、执行程序 0):java. io.FileNotFoundException: / 是目录而不是文件。
在 shaded.databricks.org.apache.hadoop.fs.azure.NativeAzureFileSystem.open(NativeAzureFileSystem.java:2511)...

请帮忙

【问题讨论】:

    标签: sql azure apache-spark databricks


    【解决方案1】:

    Spark 工作在目录级别,您可以从表中选择要读取的目录。目录中的所有文件都应该是相同类型的,它将根据目录创建一个表。

    CREATE TABLE mytab
    USING com.databricks.spark.xml
    OPTIONS (
      path "/mnt/srcdir/",
      rowTag "xmltag")
    

    请注意:“xmltag”区分大小写。

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 2019-03-14
      • 1970-01-01
      • 2018-04-07
      • 2021-02-18
      • 2022-06-10
      • 2019-09-01
      • 2021-07-26
      • 1970-01-01
      相关资源
      最近更新 更多