标签: databricks

DBFS AZURE Databricks - 文件存储和 DBFS 的差异

我正在使用带有 ADLS存储层的 Azure Databricks。我怀疑DBFS 和 Filestore之间有什么区别?知道吗,Filestore 中可以存储的文件的最大大小是多少?我们可以将输出文件存储在 Filestore 中然后覆盖它们吗?

谢谢。

azure databricks azure-databricks

7
推荐指数
1
解决办法
2457
查看次数

我们如何访问附加笔记本内的数据块作业参数?

在 Databricks 中,如果我的作业请求 json 为:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}
Run Code Online (Sandbox Code Playgroud)

如何访问作业附加笔记本内的笔记本参数?

amazon-web-services databricks dbutils aws-databricks databricks-workflows

7
推荐指数
1
解决办法
1万
查看次数

使用新 pyspark.pandas 的正确方法是什么?

Databricks 最近的这篇博客文章https://databricks.com/blog/2021/10/04/pandas-api-on-upcoming-apache-spark-3-2.html表示,pandas 程序所需的唯一更改是在 pyspark.pandas 下运行它是更改from pandas import read_csvfrom pyspark.pandas import read_csv.

但这似乎不对。那么所有其他(非read_csv)对 pandas 的引用呢?import pandas as pd改变不是正确的方法吗import pyspark.pandas as pd?然后现有程序中的所有其他 pandas 引用都将指向 pandas 的 pyspark 版本。

pandas pyspark databricks

7
推荐指数
1
解决办法
5944
查看次数

星型模式(数据建模)仍然与使用 Databricks 的 Lake House 模式相关吗?

我对 Lake House 架构模式了解得越多,并关注 Databricks 的演示,我就几乎看不到任何关于传统数据仓库(Kimball 方法)中的维度建模的讨论。我知道计算和存储要便宜得多,但是如果没有数据建模,查询性能是否会有更大的影响?从 Spark 3.0 开始,我看到了所有很酷的功能,例如自适应查询引擎、动态分区修剪等,但是维度建模是否因此而过时了?如果有人使用 Databricks 实现维度建模,请分享您的想法?

bigdata apache-spark databricks azure-databricks databricks-sql

7
推荐指数
1
解决办法
2871
查看次数

如何检查Databricks集群是否存在Log4J漏洞?

我正在使用带有 Scala 2.12 的 Databricks 集群版本 7.3 LTS。这个版本确实使用了Log4J。

官方文档说它使用Log4J版本1.2.17。这是否意味着我没有这个漏洞?如果这样做,我可以在集群上手动修补它,还是需要将集群升级到下一个 LTS 版本?

log4j azure databricks

7
推荐指数
1
解决办法
2183
查看次数

异常:org.apache.spark.sql.delta.ConcurrentAppendException:文件通过并发更新添加到表的根目录

我有一个简单的 Spark 作业,将数据流式传输到 Delta 表。该表非常小并且没有分区。

创建了许多小镶木地板文件。

按照文档(https://docs.delta.io/1.0.0/best-practices.html)中的建议,我添加了每天运行一次的压缩作业。

    val path = "..."
    val numFiles = 16
    
    spark.read
     .format("delta")
     .load(path)
     .repartition(numFiles)
     .write
     .option("dataChange", "false")
     .format("delta")
     .mode("overwrite")
     .save(path)
Run Code Online (Sandbox Code Playgroud)

每次压缩作业运行时,流作业都会出现以下异常:

org.apache.spark.sql.delta.ConcurrentAppendException: Files were added to the root of the table by a concurrent update. Please try the operation again.
Run Code Online (Sandbox Code Playgroud)

我尝试将以下配置参数添加到流作业中:

spark.databricks.delta.retryWriteConflict.enabled = true  # would be false by default
spark.databricks.delta.retryWriteConflict.limit = 3  # optionally limit the maximum amout of retries
Run Code Online (Sandbox Code Playgroud)

这没有帮助。

知道如何解决这个问题吗?

parquet spark-streaming databricks delta-lake

6
推荐指数
1
解决办法
1万
查看次数

Koalas/pyspark 找不到数据源:delta

当我尝试在本地使用 koalas.DataFrame.to_delta() 将 Koalas DataFrame 直接写入增量表时,出现以下 Pyspark 异常:
java.lang.ClassNotFoundException: Failed to find data source: delta
编辑:忽略下面,直接调用 Pyspark 也会出现问题。

如果我将 Koalas DataFrame 转换为 Spark DataFrame 然后写入 delta,我似乎没有问题。是否存在 Koalas 不知道但 Pyspark 知道的底层库?看起来很奇怪,因为我认为在幕后使用相同的 Pyspark 模块...我应该注意到 Koalas to_delta() 方法似乎确实在 Databricks 上工作,这表明我的本地设置缺少与 Delta 相关的库。

失败的考拉代码:

kdf = ks.DataFrame({'eid': [1, 2, 3],
                        'contigName': ['chr1', 'chr2', 'chr3'],
                        'phen1': [0.123, 0.456, 0.789],
                        'phen2': [0.987, 0.654, 0.321]})
kdf.to_delta(path='tmp/test.delta', mode='overwrite')
Run Code Online (Sandbox Code Playgroud)

编辑:不让考拉 Spark 到 Delta 代码:

kdf = ks.DataFrame({'eid': [1, 2, 3],
                        'contigName': ['chr1', 'chr2', 'chr3'],
                        'phen1': [0.123, 0.456, 0.789], …
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark databricks delta-lake spark-koalas

6
推荐指数
1
解决办法
1万
查看次数

有没有办法在一行中运行多个 %run 语句?

我的 databricks python 笔记本中当前有多个 %run 语句,在多行中,一次运行它们时可以工作。我想知道是否有一种方法将它们合并到一个单元格中,这样我就不必单独运行每个单元格。我尝试过将它们放在一起但不断出现错误

%run {location of file}
%run {location of file}
...
%run {location of file}
Run Code Online (Sandbox Code Playgroud)

错误:

Failed to parse %run command: string matching regex `\$[\w_]+' expected but `%' found)
Run Code Online (Sandbox Code Playgroud)

以下是我根据 OneCricketeer 的建议进行的尝试。事实证明这个解决方案并不能解决问题。

notebooks = [
  ('{location of file}'),
  ('{location of file}'),
  ('{location of file}')]

for n in notebooks:
    dbutils.notebook.run(n,60)
    print('Finished loading notebook ' + n)
Run Code Online (Sandbox Code Playgroud)

python databricks

6
推荐指数
1
解决办法
5498
查看次数

Databricks DELTA CTAS 与使用 %sql 的 LOCATION

DELTA不具有CREATE TABLE LIKE。它确实有CTAS

我只想复制表的定义LOCATION,但还要指定.

例如,这不起作用:

CREATE TABLE IF NOT EXISTS NEW_CUSTOMER_FEED 
AS SELECT * from NEW_CUSTOMER_FEED WHERE 1 = 0 
LOCATION '/atRest/data'
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

databricks delta-lake databricks-sql

6
推荐指数
1
解决办法
3811
查看次数

我可以迭代 databricks 笔记本中的小部件吗?

我可以迭代 databricks 笔记本中的小部件吗?像这样的伪代码?

# NB - not valid
inputs = {widget.name: widget.value for widget in dbutils.widgets}
Run Code Online (Sandbox Code Playgroud)

python databricks azure-databricks dbutils

6
推荐指数
2
解决办法
2734
查看次数