标签: azure-databricks

如何使用 Azure 数据工厂 (ADF) 创建 Spot 实例 - 作业集群 - 链接服务

我有一个包含 Databricks 活动的 ADF 管道。

该活动每次都会创建一个新的作业集群,并且我已将所有必需的 Spark 配置添加到相应的链接服务中。

现在,随着 Databricks 提供 Spot 实例,我想在 Databricks 中使用 Spot 配置创建新集群。

我尝试从LinkedService文档中找到帮助,但没有成功!

如何使用 ADF 执行此操作?

干杯!!!

azure cost-management azure-data-factory azure-databricks databricks-workflows

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

我可以使用 ADF 托管标识从 Azure Databricks 访问 ADLS 吗?

我有一个 ADF,它具有能够访问 ADLS 的托管身份。现在我需要这个 ADF 来调用 Databricks 笔记本,并且该笔记本也应该访问 ADLS。我可以使用 ADF 的托管身份来完成此操作吗?我怎样才能做到这一点?

azure azure-data-factory azure-databricks azure-data-lake-gen2

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

如何在 Spark SQL 中访问 python 变量?

我在 Azure Databricks 中的 jupyter 笔记本文件中的 %python 下创建了 python 变量。如何访问相同的变量以在 %sql 下进行比较。下面是示例:

%python

RunID_Goal = sqlContext.sql("SELECT CONCAT(SUBSTRING(RunID,1,6),SUBSTRING(RunID,1,6),'01_') 
FROM RunID_Pace").first()[0] 
AS RunID_Goal
Run Code Online (Sandbox Code Playgroud)
%sql
SELECT Type , KPIDate, Value
FROM table
WHERE
RunID = RunID_Goal (This is the variable created under %python and want to compare over here)
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,它会抛出错误: SQL 语句中的错误: AnalysisException:无法解析RunID_Goal给定输入列的“ ”:我是新的 azure databricks 和 Spark sql 任何形式的帮助将不胜感激。

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

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

从数据湖重命名 Azure Databricks 中的文件时出现问题

我正在尝试使用“rename ()”函数通过“import os”库在Azure Databricks中使用Python重命名文件,这确实非常简单,但是在Databricks中执行此操作时我无法到达其中的路径我的文件是。在数据湖中,但是执行命令“% fs ls path_file”是的,我看到了它,我什至可以毫无问题地读取它并使用 pyspark 处理它。

我留下我的代码示例:

import os
old_name = r"/mnt/datalake/path/part-00000-tid-1761178-3f1b0942-223-1-c000.csv"
new_name = r"/mnt/datalake/path/example.csv"

os.rename(old_name, new_name)
Run Code Online (Sandbox Code Playgroud)

上面返回一个错误,指出找不到路径或文件,但“ls”命令可以毫无问题地执行相同的路径。

另一方面,我尝试用 pySpark 重命名该文件,但它使用了我没有安装的 hadoop 库(org.apache.hadoop.conf.Configuration),并且无法在生产环境中安装它......

我会缺少什么?

python azure azure-data-lake databricks azure-databricks

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

azure databricks 中具有 Spark/dbutils 依赖项的自定义 python 模块

我最近在 Azure Databricks 上启用了预览功能“存储库中的文件”,这样我就可以将许多常规功能从笔记本转移到模块,并消除为单个作业运行大量笔记本带来的开销。

但是,我的一些函数直接依赖于 dbutils 或 Spark/pyspark 函数(例如dbutils.secrets.get()spark.conf.set())。由于这些模块是在笔记本的后台导入的,并且直接与底层会话相关联,因此我完全不知道如何在自定义模块中引用这些模块。

对于我的小示例模块,我通过将 dbutils 设置为参数来修复它,如下例所示:

class Connection:
    def __init__(self, dbutils):
        token = dbutils.secrets.get(scope="my-scope", key="mykey")
        ...
Run Code Online (Sandbox Code Playgroud)

然而,对所有现有函数执行此操作将需要大量重写函数和调用它们的行。我怎样才能避免这个过程并以更干净的方式进行?

python python-3.x pyspark databricks azure-databricks

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

Windows 上 git bash 中的 databricks cli 返回错误消息无效参数

我正在为 Azure Databricks 构建 CI/CD,我必须构建一个 python 库并能够创建 ADO 管道的工件部分。

第一阶段有以下插件

  1. Using python version 3.x
    • 使用默认选择
  2. Bash #
    • 选择内联选项并设置以下命令
python -m pip install --upgrade pip setuptools wheel databricks-cli
Run Code Online (Sandbox Code Playgroud)
  1. Configure Databricks

参考了这个文档

  • 配置工作区 URL 和 Databrick 令牌
  1. Bash #使用以下命令
# few other commands 
....
databricks workspace rm -r /MYPROJECT --profile AZDO
....
databricks workspace import_dir nb/artifact / --profile AZDO
Run Code Online (Sandbox Code Playgroud)

注意:Databricks 插件默认配置与配置文件 AZDO 的连接。

上面显示了以下错误,因为我将 AgentPool 与 Windows VM 一起使用,所以 ADO 版本正在使用 git bash。

{ 'error_code': 'INVALID_PARAMETER_VALUE',
2022-03-22T15:14:49.7904034Z   'message': "Path (C:/Program …
Run Code Online (Sandbox Code Playgroud)

azure-devops databricks azure-databricks

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

在使用 pandas 在 python 中执行 SQL 查询时,我遇到错误: TypeError: __init__() gets multiple values for argument 'schema'

在此输入图像描述

尝试在 python 中编译 sql 查询。我以前在 python 中经常这样做。但我过去从未遇到过这个错误。帮我解决同样的问题。

询问:

from pandasql import sqldf
import pandas as pd
from sklearn import datasets

Q10="select bucket,count(*) as COUNT,min(probability) as MINSCORE,max(probability) as MAXSCORE,(avg(probability)*100) as PREDDEFRATE,sum(response) as RESPONSE,count(*)-sum(response) as NONRESPONSE from score group by 1;"

Bucket_Details = sqldf(Q10,globals())
display(Bucket_Details)
Run Code Online (Sandbox Code Playgroud)

类型错误:init () 获得了参数“schema”的多个值

提前致谢。

python pandas sqldf databricks azure-databricks

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

Databricks 显示硬编码值已编辑

我正在使用 Azure Databricks 从具有值 的 Azure Key Vault 获取环境值intg

env = dbutils.secrets.get(scope = "myscrope", key = "environment")
Run Code Online (Sandbox Code Playgroud)

当我打印此内容时,它显示为[REDACTED],这是预期的。

现在我声明另一个变量,如下所示。

prm = 'myintgterritoy'
Run Code Online (Sandbox Code Playgroud)

当我打印此内容时,它显示为my[REDACTED]territoy关键字intg所在的内容。我并不期望这种行为,因为这是完全不同的变量。我怎样才能得到 的值myintgterritoy

我尝试了一种方法,可以使用下面的代码将带有空格的实际值放入新变量中。

new_prm = ''
for char in prm:
  new_prm += char + ' '
Run Code Online (Sandbox Code Playgroud)

但是当我用空字符串替换空格时,它会将结果返回为my[REDACTED]territoy.

new_prm.replace(' ','')
Run Code Online (Sandbox Code Playgroud)

我期望输出为myintgterritoy.

pyspark databricks azure-databricks

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

未在 Ubuntu 18.04 上安装 Databricks CLI

我已经在 Ubuntu 16.04 和 Mac 上成功安装了 databricks cli。当我尝试在 Ubuntu 18.04(Azure VM)上安装它时,它看起来运行得很好,然后当我尝试调用 cli 工具时它没有安装。我在 Ubuntu 16.04 和 OSX 上运行良好。关于让这个工作的任何想法?输出复制如下

vstsTestLogin@PensDataScienceVSTS:~$ pip install databricks-cli
Collecting databricks-cli
Using cached 

https://files.pythonhosted.org/packages/de/8f/b0b5222c910eafb4dd6cc6de04d7821e6caefb5a9d927bc68c39206e422f/databricks_cli-0.8.2-py2-none-any.whl
Collecting tabulate>=0.7.7 (from databricks-cli)
Collecting configparser>=0.3.5 (from databricks-cli)
Collecting click>=6.7 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/34/c1/8806f99713ddb993c5366c362b2f908f18269f8d792aff1abfd700775a77/click-6.7-py2.py3-none-any.whl
Collecting six>=1.10.0 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting requests>=2.17.3 (from databricks-cli)
  Using cached https://files.pythonhosted.org/packages/65/47/7e02164a2a3db50ed6d8a6ab1d6d60b69c4c3fdf57a284257925dfc12bda/requests-2.19.1-py2.py3-none-any.whl
Collecting idna<2.8,>=2.5 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/df/f7/04fee6ac349e915b82171f8e23cee63644d83663b34c539f7a09aed18f9e/certifi-2018.8.24-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests>=2.17.3->databricks-cli)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting urllib3<1.24,>=1.21.1 (from …
Run Code Online (Sandbox Code Playgroud)

python ubuntu databricks azure-databricks databricks-cli

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

从 Azure EventHubs Capture 生成的 Azure Data Lake Gen1 中使用 Databricks 读取 avro 数据失败

我正在尝试从 Azure Data Lake Gen1 读取 avro 数据,这些数据是从 Azure EventHubs 生成的,在 Azure Databricks 中使用 pyspark 启用了 Azure Event Hubs Capture:

inputdata = "evenhubscapturepath/*/*"
rawData = spark.read.format("avro").load(inputdata)
Run Code Online (Sandbox Code Playgroud)

以下语句失败

rawData.count()
Run Code Online (Sandbox Code Playgroud)

org.apache.spark.SparkException: Job aborted due to stage failure: Task 162 in stage 48.0 failed 4 times, most recent failure: Lost task 162.3 in stage 48.0 (TID 2807, 10.3.2.4, executor 1): java.io.IOException: Not an Avro data file
Run Code Online (Sandbox Code Playgroud)

EventHub-Capture 是否正在写入非 Avro 数据?是否有使用 Spark 读取 EventHub 捕获数据的最佳实践?

azure azure-eventhub pyspark azure-eventhub-capture azure-databricks

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