标签: azure-databricks

有没有办法使用 ADO.Net 连接到 databricks?

我想构建一个 API 来查询数据块的表并将结果输出为 JSON。实现此目的的一种方法是调用 databricks Jobs REST API来执行作业并读取作业输出,但数据大小有限制(最大为 5MB,我的 API 结果集可能超过 20MB)。相反,我可以使用 Microsoft.Net 集群提供的 JDBC/ODBC 端点连接到 databricks,还是有其他方式可以直接连接?我的 API 层最好需要在 Microsoft.Net 中构建。不过,我愿意尝试Python。

.net python .net-core databricks azure-databricks

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

Terraform 无法列出提供商

我正在尝试创建 azure databrick 集群,但是当我尝试运行 terraform init 时,我看到以下错误。我该如何纠正这个问题。基本上如何在 terraform 中使用不同的提供者。Terraform 版本为 Terraform v0.14.5

当我运行 terraform init 时出现以下错误

Initializing the backend...

  Initializing provider plugins...
        - Finding hashicorp/azurerm versions matching "~> 2.33"...
        - Finding latest version of hashicorp/databricks...
        - Installing hashicorp/azurerm v2.45.1...
        - Installed hashicorp/azurerm v2.45.1 (signed by HashiCorp)

       Error: Failed to query available provider packages

           Could not retrieve the list of available versions for provider
           hashicorp/databricks: provider registry registry.terraform.io does not have a
           provider named registry.terraform.io/hashicorp/databricks

           If you have just upgraded directly …
Run Code Online (Sandbox Code Playgroud)

terraform databricks terraform-provider-azure azure-databricks terraform-provider-databricks

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

Python 构建包错误-“virtualenv”没有属性“cli_run”

使用 Azure Databricks 构建 python 包。从命令收到以下错误:

python3 -m build

Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/databricks/python3/lib/python3.7/site-packages/build/__main__.py", line 214, in <module>
    main(sys.argv[1:], 'python -m build')
  File "/databricks/python3/lib/python3.7/site-packages/build/__main__.py", line 206, in main
    build_package(args.srcdir, outdir, distributions, config_settings, not args.no_isolation, args.skip_dependencies)
  File "/databricks/python3/lib/python3.7/site-packages/build/__main__.py", line 94, in build_package
    _build_in_isolated_env(builder, outdir, distributions, config_settings)
  File "/databricks/python3/lib/python3.7/site-packages/build/__main__.py", line 52, in _build_in_isolated_env
    with IsolatedEnvBuilder() as env:
  File "/databricks/python3/lib/python3.7/site-packages/build/env.py", line 65, in __enter__
    executable, …
Run Code Online (Sandbox Code Playgroud)

python build package databricks azure-databricks

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

如何将 Apache Spark 中的远大期望结果保存到文件中 - 使用数据文档

我已经成功创建了 Great_Expectation 结果,我想将期望结果输出到 html 文件。

很少有链接强调如何使用所谓的“数据文档”以人类可读的方式显示结果https://docs.greatexpectations.io/en/latest/guides/tutorials/getting_started/set_up_data_docs.html#tutorials-getting-started -设置数据文档

但说实话,文档非常难以理解。

我的期望只是验证数据集中的乘客数量在 1 到 6 之间。我希望帮助使用“数据文档”将结果输出到文件夹,或者可以将数据输出到文件夹:

import great_expectations as ge
import great_expectations.dataset.sparkdf_dataset
from great_expectations.dataset.sparkdf_dataset import SparkDFDataset
from pyspark.sql.types import StructType, StructField, IntegerType, StringType, BooleanType
from great_expectations.data_asset import DataAsset

from great_expectations.data_context.types.base import DataContextConfig, DatasourceConfig, FilesystemStoreBackendDefaults
from great_expectations.data_context import BaseDataContext
from great_expectations.data_context.types.resource_identifiers import ValidationResultIdentifier
from datetime import datetime
from great_expectations.data_context import BaseDataContext


df_taxi = spark.read.csv('abfss://root@adlspretbiukadlsdev.dfs.core.windows.net/RAW/LANDING/yellow_trip_data_sample_2019-01.csv', inferSchema=True, header=True)

taxi_rides = SparkDFDataset(df_taxi)

taxi_rides.expect_column_value_lengths_to_be_between(column='passenger_count', min_value=1, max_value=6)

taxi_rides.save_expectation_suite()
Run Code Online (Sandbox Code Playgroud)

该代码是从 Apache Spark 运行的。

如果有人能给我指出正确的方向,我就能找到答案。

apache-spark pyspark databricks azure-databricks great-expectations

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

如何在数据块中将数据帧作为笔记本参数传递?

我有一个要求,其中我需要将 pyspark 数据帧作为笔记本参数传递给子笔记本。本质上,子笔记本几乎没有以参数类型作为数据帧的函数来执行某些任务。现在的问题是我无法使用(不将其写入临时目录)将数据帧传递到该子笔记本

dbutils.notebook.run(<notebookpath>, timeout, <arguments>)
Run Code Online (Sandbox Code Playgroud)

我尝试引用此网址 - 从 databricks 中的另一个笔记本返回数据框

但是,我仍然有点困惑如何将数据帧从子笔记本返回到父笔记本,以及从父笔记本返回到另一个子笔记本。

我尝试编写如下代码 -

tempview_list = ["tempView1", "tempView2", "tempView3"]
 
for tempview in tempview_list:
  dbutils.notebook.exit(spark.sql(f"Select * from {tempview}"))
Run Code Online (Sandbox Code Playgroud)

但它只是返回第一个 tempView 的架构。

请帮忙。我是 pyspark 的新手。

谢谢。

pyspark spark-notebook databricks azure-notebooks azure-databricks

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

Azure Databricks python 命令显示当前集群配置

我目前正在优化我们的 ETL 流程,并且希望能够看到处理数据时使用的现有集群配置。这样,我可以随着时间的推移跟踪我应该使用哪些工作节点大小。

是否有一个命令可以在 python 中返回集群工作线程 # 和大小,以便我可以将其写入数据帧?

python azure databricks azure-databricks

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

如何查找databricks集群中的驱动程序IP?

有没有办法找出databricks集群上的驱动程序IP是什么?Ganglia UI 在主页上显示了所有节点,并且似乎没有办法仅针对驱动程序进行过滤。

在此输入图像描述

apache-spark databricks azure-databricks

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

从 Databricks 将 PySpark 数据帧写入 Snowflake 需要很长时间

df.write.format("net.snowflake.spark.snowflake").options(**sfOptions).option("dbtable", "table_name").mode("overwrite").save()
Run Code Online (Sandbox Code Playgroud)

我在 Azure Databricks 中使用上述代码将 Spark 表写入 Snowflake 数据库,仅花费了 7 分钟多的时间才完成 900 万多行。

我使用节点类型为 Standard_D64s_v3(256GB,64 核)的单节点集群,并安装了 Maven 包“net.snowflake:spark-snowflake_2.12:2.5.1-spark_2.4”。

为了达到全速,我是否缺少一些设置?

pyspark snowflake-cloud-data-platform azure-databricks

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

如何使用参数创建数据块作业

我正在使用 databricks-cli 在 databricks 中创建一个新作业:

databricks jobs create --json-file ./deploy/databricks/config/job.config.json
Run Code Online (Sandbox Code Playgroud)

使用以下 json:

{
    "name": "Job Name",
    "new_cluster": {
        "spark_version": "4.1.x-scala2.11",
        "node_type_id": "Standard_D3_v2",
        "num_workers": 3,
        "spark_env_vars": {
            "PYSPARK_PYTHON": "/databricks/python3/bin/python3"
        }
    },
    "libraries": [
        {
            "maven": {
                "coordinates": "com.microsoft.sqlserver:mssql-jdbc:6.5.3.jre8-preview"
            }
        }
    ],
    "timeout_seconds": 3600,
    "max_retries": 3,
    "schedule": {
        "quartz_cron_expression": "0 0 22 ? * *",
        "timezone_id": "Israel"
    },
    "notebook_task": {
        "notebook_path": "/notebooks/python_notebook"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想添加可通过以下方式在笔记本中访问的参数:

dbutils.widgets.text("argument1", "<default value>")
dbutils.widgets.get("argument1")
Run Code Online (Sandbox Code Playgroud)

python pyspark databricks azure-databricks databricks-cli

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

我们可以将 Databricks 输出传递到 ADF 作业中吗?

任何人都可以帮助我使用 Databricks 和 Azure 功能吗?我正在尝试将数据块 JSON 输出传递给 ADF 作业中的 azure 函数体,这可能吗?如果是,如何?如果否,还有什么其他替代方法可以做同样的事情?

python json azure-functions azure-data-factory-2 azure-databricks

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