标签: azure-databricks

如何检查databricks中是否已存在目录

如何检查databricks中是否已经存在

dir = "/mnt/published/omega/omega_output"
if(dbutils.fs.exists(dir)):
 print("dir exists")
else:
 print("dir does not exists")
Run Code Online (Sandbox Code Playgroud)

这段代码向我抛出错误

'FSHandler' object has no attribute 'exists'
Run Code Online (Sandbox Code Playgroud)

azure databricks azure-databricks

5
推荐指数
1
解决办法
7657
查看次数

如何在 Databricks 中使用 OPTIMIZE ZORDER BY

我有两个数据框(来自三角洲湖表),它们通过 id 列进行左连接。

SD1、SD2

%sql
select
    a.columnA,
    b.columnB,
from sd1 a
left outer join sd2 b
on a.id = b.id

   
Run Code Online (Sandbox Code Playgroud)

问题是我的查询需要很长时间,寻找改进结果的方法我找到了OPTIMIZE ZORDER BY Youtube视频

根据视频,如果列将成为where条件的一部分,则在对列进行排序时似乎很有用。

但由于两个数据帧在连接条件中使用 id,因此对该列进行排序是否有趣?

spark.sql(f'OPTIMIZE delta.`{sd1_delta_table_path}` ZORDER BY (id)')
Run Code Online (Sandbox Code Playgroud)

我脑海中遵循的逻辑是,如果我们首先订购该列,那么寻找它们进行匹配所需的时间就会更少。它是否正确 ?

提前致谢

pyspark databricks azure-databricks delta-lake databricks-sql

5
推荐指数
1
解决办法
6659
查看次数

如何将“spark.sql.shuffle.partitions”设置为自动

我的要求是设置spark.sql.shuffle.partitions=auto

但是我在运行以下代码时收到以下错误

%python
spark.conf.set("spark.sql.shuffle.partitions=auto")
Run Code Online (Sandbox Code Playgroud)
error 
TypeError                                 Traceback (most recent call last)
<command-3238694083679317> in <cell line: 1>()
----> 1 spark.conf.set("spark.sql.shuffle.partitions=auto")

TypeError: set() missing 1 required positional argument: 'value'
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql pyspark azure-databricks

5
推荐指数
1
解决办法
6860
查看次数

Databricks - 如何在初始化脚本中访问工作区文件

希望每个人都过得很好...

我们正在探索是否可以将一些 jar 组织为 Workspace 中文件夹的一部分,并将其作为 init 脚本的一部分移动。

例如,在工作区中我们有以下结构。

/Workspace/<Folder_Name1>/jars/sample_name_01.jar

初始化脚本将尝试将其移动到 DBFS/驱动程序节点文件系统中的路径。

!/bin/bash
cp /Workspace/<Folder_Name1>/jars/sample_name_01.jar /dbfs/jars/
cp /Workspace/<Folder_Name1>/jars/sample_name_01.jar /tmp/jars/
Run Code Online (Sandbox Code Playgroud)

当然,初始化脚本失败并显示错误消息

cp: cannot stat '/Workspace/<Folder_Name1>/jars/sample_name_01.jar': No such file or directory

已尝试使用包含和删除 /Workspace 的路径。我还尝试从网络终端访问该文件,并且我能够看到这些文件。

  1. 工作区文件可以通过 init 脚本访问吗?
  2. jar 和 whl/egg 文件有限制吗?
  3. 访问它们的正确语法是什么?
  4. 将 jar(只有少数)作为工作区文件或 DBFS 的一部分有意义吗?

感谢大家的帮助...干杯...

更新01:

尝试了通过其他方式收到的一些建议......

  1. 考虑到工作区中的初始化脚本是在没有引用的情况下引用的,/Workspace我也尝试过没有它们,但仍然存在同样的问题。
  2. 还尝试过列出文件并打印它们。路径本身似乎没有被识别。
  3. 也尝试过睡最多 2 分钟,给坐骑一些时间,但还是没有效果……

databricks azure-databricks gcp-databricks

5
推荐指数
1
解决办法
2472
查看次数

使用 ARM 模板创建 Azure Databricks 令牌

我需要使用 ARM 模板在 Azure Databricks 中创建一个令牌。我可以使用 ARM 模板创建 Azure Databricks,但无法使用 ARM 模板在 Azure Databricks 中创建令牌

以下是我用来创建 Azure Databricks 的模板

{
"$schema": "https://schema.management.azure.com/schemas/2015-01- 
01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
  "metadata": {
    "description": "The name of the Azure Databricks workspace to create."
  }
},
"pricingTier": {
  "type": "string",
  "defaultValue": "premium",
  "allowedValues": [
    "standard",
    "premium"
  ],
  "metadata": {
    "description": "The pricing tier of workspace."
  }
},
"location": {
  "type": "string",
  "defaultValue": "[resourceGroup().location]",
  "metadata": {
    "description": "Location for all resources."
  } …
Run Code Online (Sandbox Code Playgroud)

azure-resource-manager azure-databricks

4
推荐指数
2
解决办法
1058
查看次数

如何将日志从 Azure Databricks 重定向到另一个目的地?

我们可以使用一些帮助来了解如何将 Spark 驱动程序和工作日志发送到 Azure Databricks 之外的目的地,例如 Azure Blob 存储或使用 Eleastic-beats 的弹性搜索。

配置新集群时,get reg 日志传送目标的唯一选项是 dbfs,请参阅

https://docs.azuredatabricks.net/user-guide/clusters/log-delivery.html

非常感谢任何意见,谢谢!

databricks elastic-beats azure-databricks

4
推荐指数
1
解决办法
2025
查看次数

如何使用pyspark检查文件/文件夹是否存在而不会出现异常

在从数据块中的 pyspark 读取文件之前,我试图检查该文件是否存在以避免异常?我尝试了以下代码片段,但是当文件不存在时出现异常

from pyspark.sql import *
from pyspark.conf import SparkConf
SparkSession.builder.config(conf=SparkConf())
try:
    df = sqlContext.read.format('com.databricks.spark.csv').option("delimiter",",").options(header='true', inferschema='true').load('/FileStore/tables/HealthCareSample_dumm.csv')
    print("File Exists")
except IOError:
    print("file not found")`
Run Code Online (Sandbox Code Playgroud)

当我有文件时,它会读取文件并“打印文件存在”,但是当文件不存在时,它会抛出“AnalysisException:'路径不存在:dbfs:/FileStore/tables/HealthCareSample_dumm.csv;'”

pyspark azure-databricks

4
推荐指数
4
解决办法
7581
查看次数

如何将一个数据块笔记本导入另一个?

我在 Azure Databricks 中有一个 python 笔记本 A,其导入语句如下:

import xyz, datetime, ...
Run Code Online (Sandbox Code Playgroud)

我在笔记本 A 中导入了另一个笔记本 xyz,如上面的代码所示。当我运行笔记本 A 时,它抛出以下错误:

ImportError: No module named xyz  
Run Code Online (Sandbox Code Playgroud)

两个笔记本都在同一个工作区目录中。任何人都可以帮助解决这个问题吗?

python python-import spark-notebook azure-databricks

4
推荐指数
1
解决办法
6259
查看次数

Azure Databricks,无法初始化类 org.apache.spark.eventhubs.EventHubsConf

我对 Scala 还很陌生,我正在尝试创建一个笔记本来详细说明在 Azure 事件中心写入的数据。这是我的代码:

import org.apache.spark.eventhubs._

val connectionString = ConnectionStringBuilder("MY-CONNECTION-STRING")
  .setEventHubName("EVENT-HUB-NAME")
  .build

val eventHubsConf = EventHubsConf(connectionString)
  .setStartingPosition(EventPosition.fromEndOfStream)
  
val eventhubs = spark.readStream
  .format("eventhubs")
  .options(eventHubsConf.toMap)
  .load()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.eventhubs.EventHubsConf$

集群配置:

  • Databricks 运行时版本:7.0(包括 Apache Spark 3.0.0、Scala 2.12)
  • 驱动程序和工作线程类型:14.0 GB 内存,4 核,0.75 DBU 标准_DS3_v2

我已经安装了以下库:

com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.17
集群库
安装的另一个 JAR 是为了解决 Logging 的问题

一旦我尝试创建 eventHubsConf,代码就会崩溃。

完整的追溯:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.eventhubs.EventHubsConf$
at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:7)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:70)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:72)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:74)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:76)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:78)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw$$iw.<init>(command-2632683088190841:80)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw$$iw.<init>(command-2632683088190841:82)
    at line14a6ae940dd14957b7172a4cf8f6cdd348.$read$$iw$$iw.<init>(command-2632683088190841:84) …
Run Code Online (Sandbox Code Playgroud)

scala azure apache-spark databricks azure-databricks

4
推荐指数
1
解决办法
1466
查看次数

AttributeError: 'DataFrame' 对象没有属性 '_data'

在 Pandas 数据帧上并行化时 Azure Databricks 执行错误。代码能够创建RDD但在执行时中断.collect()

设置:

import pandas as pd
# initialize list of lists 
data = [['tom', 10], ['nick', 15], ['juli', 14]] 
  
# Create the pandas DataFrame 
my_df = pd.DataFrame(data, columns = ['Name', 'Age']) 

def testfn(i):
  return my_df.iloc[i]
test_var=sc.parallelize([0,1,2],50).map(testfn).collect()
print (test_var)
Run Code Online (Sandbox Code Playgroud)

错误:

Py4JJavaError                             Traceback (most recent call last)
<command-2941072546245585> in <module>
      1 def testfn(i):
      2   return my_df.iloc[i]
----> 3 test_var=sc.parallelize([0,1,2],50).map(testfn).collect()
      4 print (test_var)

/databricks/spark/python/pyspark/rdd.py in collect(self)
    901         # Default path used in OSS Spark / for non-credential …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark databricks azure-databricks

4
推荐指数
1
解决办法
3432
查看次数