如何检查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) 我有两个数据框(来自三角洲湖表),它们通过 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
我的要求是设置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) 希望每个人都过得很好...
我们正在探索是否可以将一些 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 的路径。我还尝试从网络终端访问该文件,并且我能够看到这些文件。
感谢大家的帮助...干杯...
更新01:
尝试了通过其他方式收到的一些建议......
/Workspace我也尝试过没有它们,但仍然存在同样的问题。我需要使用 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) 我们可以使用一些帮助来了解如何将 Spark 驱动程序和工作日志发送到 Azure Databricks 之外的目的地,例如 Azure Blob 存储或使用 Eleastic-beats 的弹性搜索。
配置新集群时,get reg 日志传送目标的唯一选项是 dbfs,请参阅
https://docs.azuredatabricks.net/user-guide/clusters/log-delivery.html。
非常感谢任何意见,谢谢!
在从数据块中的 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;'”
我在 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)
两个笔记本都在同一个工作区目录中。任何人都可以帮助解决这个问题吗?
我对 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$
集群配置:
我已经安装了以下库:
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) 在 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) azure-databricks ×10
databricks ×6
pyspark ×4
apache-spark ×3
azure ×2
python ×2
delta-lake ×1
scala ×1