【问题标题】:Writing Databricks dataframe to BLOB storage将 Databricks 数据帧写入 BLOB 存储
【发布时间】:2019-01-14 00:38:34
【问题描述】:

我正在使用 Azure 数据块并已安装 BLOB 存储。 我尝试使用以下方法将我的数据框保存到那里:

df.write.mode("overwrite").format("com.databricks.spark.csv").option("header","true").csv("/mnt/gl")

我收到以下错误:

 shaded.databricks.org.apache.hadoop.fs.azure.AzureException: java.util.NoSuchElementException: An error occurred while enumerating the result, check the original exception for details.

---------------------------------------------------------------------------
Py4JJavaError                             Traceback (most recent call last)
<command-1181559690773266> in <module>()
----> 1 df.write.mode("overwrite").format("com.databricks.spark.csv").option("header","true").csv("/mnt/gl")

/databricks/spark/python/pyspark/sql/readwriter.py in csv(self, path, mode, compression, sep, quote, escape, header, nullValue, escapeQuotes, quoteAll, dateFormat, timestampFormat, ignoreLeadingWhiteSpace, ignoreTrailingWhiteSpace, charToEscapeQuoteEscaping, encoding, emptyValue)
    927                        charToEscapeQuoteEscaping=charToEscapeQuoteEscaping,
    928                        encoding=encoding, emptyValue=emptyValue)
--> 929         self._jwrite.csv(path)
    930 
    931     @since(1.5)

/databricks/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py in __call__(self, *args)
   1255         answer = self.gateway_client.send_command(command)
   1256         return_value = get_return_value(
-> 1257             answer, self.gateway_client, self.target_id, self.name)
   1258 
   1259         for temp_arg in temp_args:

/databricks/spark/python/pyspark/sql/utils.py in deco(*a, **kw)

更新: 重新创建 SAS 密钥后,错误现在显示“作业中止”

【问题讨论】:

  • 您的挂载目录运行良好吗?尝试做 dbutils.fs.ls('/mnt/gl'),它有效吗?
  • 这对我有用。 (也可以知道一些方便的代码)
  • 你能解决这个问题吗?我有同样的问题@user1761806
  • 我刚刚重新创建了 Databricks 集群,它又开始工作了

标签: azure-databricks


【解决方案1】:

尝试将您的“csv”更改为“保存”:

df \
.write \
.mode("overwrite") \
.format("com.databricks.spark.csv") \
.option("header","true") \
.save("/mnt/gl") 

【讨论】:

  • 这也不起作用。它说 Job Aborted 后跟 Py4JJavaError。我用我重新创建 SAS_Key 的方式也遇到了这个错误
猜你喜欢
  • 2020-11-15
  • 1970-01-01
  • 2020-07-07
  • 2019-03-08
  • 2023-01-20
  • 2020-01-02
  • 2020-12-30
  • 2020-04-18
  • 2020-07-29
相关资源
最近更新 更多