小编Car*_*onp的帖子

如何使用 Databricks dbutils 从文件夹中删除所有文件

有人可以让我知道如何使用 databricks dbutils 删除文件夹中的所有文件。我已尝试以下操作,但不幸的是,Databricks 不支持通配符。

dbutils.fs.rm('adl://azurelake.azuredatalakestore.net/landing/stageone/*')
Run Code Online (Sandbox Code Playgroud)

谢谢

databricks azure-databricks dbutils

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

使用 dbutils 在 Databricks 中上传后从目录中删除文件

StackOverflow 的一位非常聪明的人帮助我将文件从 Databricks 复制到目录: copyfiles

我使用相同的原理在复制文件后删除文件,如链接所示:

for i in range (0, len(files)):
  file = files[i].name
  if now in file:  
    dbutils.fs.rm(files[i].path,'/mnt/adls2/demo/target/' + file)
    print ('copied     ' + file)
  else:
    print ('not copied ' + file)
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

TypeError: '/mnt/adls2/demo/target/' 的类型错误 - 需要类 bool 。

有人可以让我知道如何解决这个问题吗?我认为在最初使用命令复制文件后删除文件很简单dbutils.fs.rm

python databricks azure-databricks

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

如何从 Databricks mnt 目录中删除文件夹/文件

我正在运行 Databricks Community Edition,我想从以下 mnt 目录中删除文件

/mnt/driver-daemon/jars

我运行 dbutils 命令:

dbutils.fs.rm('/mnt/driver-daemon/jars/', True)

但是,当我运行命令时,我收到以下消息(这基本上意味着该文件夹尚未被删除)

Out[1]: False

有人可以让我知道我哪里出错了吗?理想情况下,我想删除 jars 文件夹中的所有文件,但是,如果有人可以帮助展示如何删除该文件夹,那就足够了。

databricks azure-databricks

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

如何在 Databricks Python Notebook 中运行/执行输入单元

我在Databricks笔记本中编写了以下代码

name = input("Please enter your name: ")
age = input("How old are you, {0}?".format(name))
print(age)
Run Code Online (Sandbox Code Playgroud)

正如您所猜测的,运行单元格后,系统会要求我“请输入您的姓名:”问题是我不知道在哪里输入。如果这是用 intelliJ IDEA 或 IDLE 编写的,我将获得一个单独的窗口来输入我的名字。但是,使用 Databricks 笔记本,即使我在不​​同的单元格中输入答案,它似乎也在不断等待输入,请参见图像:

在哪里输入

我真的应该知道这个问题的答案

databricks azure-databricks

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

如何确定 Apache Spark Dataframe 中的分区大小

我一直在使用 SE 上发布的问题的出色答案来确定分区数量以及数据帧中分区的分布 需要了解 Spark Dataframe 中的分区详细信息

有人可以帮助我扩展答案以确定数据框的分区大小吗?

谢谢

apache-spark pyspark databricks

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

仅当文件不存在时,才使用 dbtuils 复制 Databricks 文件

我正在使用以下 databricks utilites ( dbutils) 命令将文件从一个位置复制到另一个位置,如下所示:

dbutils.fs.cp('adl://dblake.azuredatalakestore.net/jfolder2/thisfile.csv','adl://cadblake.azuredatalakestore.net/landing/')
Run Code Online (Sandbox Code Playgroud)

但是,我希望仅当不thisfile.csv存在具有相同名称“ ”的此类文件时才复制该文件。

有人可以让我知道这是否可能吗?

如果没有,还有其他解决方法吗?

databricks azure-databricks

3
推荐指数
1
解决办法
5117
查看次数

Azure 分析服务与直接查询

我正在尝试评估使用 Power BI with Azure Analysis Services 或 Power BI with Direct Query 访问数据和对数据集运行查询的成本和性能方面的最佳方法。

我试图用下图说明这两种方法。 在此处输入图片说明

图中步骤 4 和 5 描述了使用 Power BI 和 Direct Query 访问 Azure Data Lake 中的数据。而步骤 4 和 6 描述了使用 Power BI 和 Azure Analysis Services 访问数据。

根据我自己的研究,Direct Query 因性能问题而臭名昭著,例如

所有 DirectQuery 请求都发送到源数据库,因此刷新视觉对象所需的时间取决于后端源响应查询(或多个查询)结果所需的时间。

上面的陈述有据可查,但是,在我的设计中 DirectQuery 请求不应该成为问题,因为大部分逻辑和转换将在 Databricks 中进行(尽管我不希望这个问题专注于 Databricks)。

另一方面,使用 Azure 分析服务 (AAS),所有请求都发生在内存中,而不是 DirectQuery,因此速度要快得多。

因此,如果您能分享您使用 DirectQuery 和 AAS 的经验,我会很高兴。如果你能告诉我我是否错过了使用技术的任何优势/劣势/

powerbi azure-analysis-services powerbi-desktop

3
推荐指数
1
解决办法
753
查看次数

如何从 Databrick/PySpark 覆盖/更新 Azure Cosmos DB 中的集合

我在 Databricks Notebook 上编写了以下 PySpark 代码,它使用以下代码行成功地将结果从 sparkSQL 保存到 Azure Cosmos DB:

df.write.format("com.microsoft.azure.cosmosdb.spark").mode("overwrite").options(**writeConfig3).save()
Run Code Online (Sandbox Code Playgroud)

完整代码如下:

test = spark.sql("""SELECT
  Sales.CustomerID AS pattersonID1
 ,Sales.InvoiceNumber AS myinvoicenr1
FROM Sales
limit 4""")


## my personal cosmos DB
writeConfig3 = {
    "Endpoint": "https://<cosmosdb-account>.documents.azure.com:443/",
    "Masterkey": "<key>==",
    "Database": "mydatabase",
    "Collection": "mycontainer",
    "Upsert": "true"
}

df = test.coalesce(1)

df.write.format("com.microsoft.azure.cosmosdb.spark").mode("overwrite").options(**writeConfig3).save()
Run Code Online (Sandbox Code Playgroud)

使用上面的代码我已经成功地写入了我的 Cosmos DB 数据库(mydatabase)和集合(mycontainer) 在此处输入图片说明

当我尝试通过使用以下更改 SparkSQL 来覆盖容器时(只需将 pattersonID1 更改为 pattersonID2,并将 myinvoicenr1 更改为 myinvoicenr2

test = spark.sql("""SELECT
  Sales.CustomerID AS pattersonID2
 ,Sales.InvoiceNumber AS myinvoicenr2
FROM Sales
limit 4""")
Run Code Online (Sandbox Code Playgroud)

相反,使用新查询覆盖/更新集合 Cosmos DB 会按如下方式附加容器:

在此处输入图片说明

并且仍然在集合中保留原始查询: …

pyspark pyspark-sql azure-cosmosdb azure-databricks

0
推荐指数
1
解决办法
2402
查看次数