我想构建一个 API 来查询数据块的表并将结果输出为 JSON。实现此目的的一种方法是调用 databricks Jobs REST API来执行作业并读取作业输出,但数据大小有限制(最大为 5MB,我的 API 结果集可能超过 20MB)。相反,我可以使用 Microsoft.Net 集群提供的 JDBC/ODBC 端点连接到 databricks,还是有其他方式可以直接连接?我的 API 层最好需要在 Microsoft.Net 中构建。不过,我愿意尝试Python。
我正在尝试创建 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
使用 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) 我已经成功创建了 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
我有一个要求,其中我需要将 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
我目前正在优化我们的 ETL 流程,并且希望能够看到处理数据时使用的现有集群配置。这样,我可以随着时间的推移跟踪我应该使用哪些工作节点大小。
是否有一个命令可以在 python 中返回集群工作线程 # 和大小,以便我可以将其写入数据帧?
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”。
为了达到全速,我是否缺少一些设置?
我正在使用 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) 任何人都可以帮助我使用 Databricks 和 Azure 功能吗?我正在尝试将数据块 JSON 输出传递给 ADF 作业中的 azure 函数体,这可能吗?如果是,如何?如果否,还有什么其他替代方法可以做同样的事情?
python json azure-functions azure-data-factory-2 azure-databricks
azure-databricks ×10
databricks ×8
python ×5
pyspark ×4
apache-spark ×2
.net ×1
.net-core ×1
azure ×1
build ×1
json ×1
package ×1
snowflake-cloud-data-platform ×1
terraform ×1