标签: databricks

Azure Databricks与ADLA进行处理

目前,我所有的数据文件都存储在Azure Data Lake Store中。我需要处理这些大多数为csv格式的文件。该处理将在这些文件上运行作业,以提取与特定场景有关的日期或特定事件的特定数据(例如Data)的各种信息,或从多个表/文件添加数据。这些作业每天通过数据工厂(v1或v2)中的u-sql作业运行,然后发送到powerBI进行可视化。

使用ADLA进行所有这些处理,我觉得处理需要很多时间,而且看起来非常昂贵。我建议我将Azure Databricks用于上述过程。有人可以帮助我朝着两者之间的方向发展吗?我可以将所有U-sql作业修改为Databricks笔记本格式吗?

azure azure-data-lake u-sql databricks

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

使用 pandas_udf 返回一个数组

我正在尝试制作一个 pandas UDF,它接受两列具有整数值的数据,并根据这些值之间的差异返回一个小数数组,其长度等于上述差异。

到目前为止,这是我的尝试,我一直在尝试很多不同的方法,试图让它发挥作用,但这是总体思路

from pyspark.sql.functions import pandas_udf, PandasUDFType
from pyspark.sql.types import *
import pandas as pd

@pandas_udf(ArrayType(DecimalType()), PandasUDFType.SCALAR)
def zero_pad(x, y):
  buffer = []
  
  for i in range(0, (x - y)):
    buffer.append(0.0)
  
  return buffer
Run Code Online (Sandbox Code Playgroud)

我的使用方法如下:

df = df.withColumn("zero_list", zero_pad(df.x, df.y))
Run Code Online (Sandbox Code Playgroud)

最终结果是df一个名为“zero_list”的新列,该ArrayType(DecimalType())列看起来[0.0, 0.0, 0.0, ...]长度为(df.x - df.y)

错误消息非常笼统,几乎不值得发布,只是“作业因阶段失败而中止”,它只能追溯到我执行以下操作的代码部分df.show()

Py4JJavaError                             Traceback (most recent call last)
<command-103561> in <module>()
---> 33 df.orderBy("z").show(n=1000)

/databricks/spark/python/pyspark/sql/dataframe.py in show(self, n, truncate, vertical)
    350         """
    351         if …
Run Code Online (Sandbox Code Playgroud)

python user-defined-functions apache-spark pyspark databricks

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

创建秘密范围时如何修复 Databricks 中的“未找到命令”错误

我正在尝试在 Databricks 笔记本中创建一个秘密范围。该笔记本正在使用我公司管理员创建的集群运行 - 我无权创建或编辑集群。我按照 Databricks 用户笔记本(https://docs.databricks.com/user-guide/secrets/example-secret-workflow.html#example-secret-workflow)中的说明进行操作,但出现错误:

/bin/bash: databricks: command not found
Run Code Online (Sandbox Code Playgroud)

下面是我尝试过的返回错误的代码:

%sh -e
databricks secrets create-scope --scope scopename
Run Code Online (Sandbox Code Playgroud)

使用 sh% 以便我可以在笔记本中运行命令行语言。我尝试过使用

%sh
Run Code Online (Sandbox Code Playgroud)

并且

%sh -e
Run Code Online (Sandbox Code Playgroud)

没有运气。

我应该能够使用此代码创建一个秘密范围,但没有运气。对于造成这种情况的原因有什么建议吗?还有其他人有同样的问题吗?

secret-key databricks

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

Azure Databricks:如何在 Databricks 群集中添加 Spark 配置

我正在使用 Spark Databricks 集群,并且想要添加自定义 Spark 配置。
有一个关于此的 Databricks 文档,但我没有得到任何线索,我应该如何以及进行哪些更改。有人可以分享配置 Databricks 集群的示例吗?
有没有办法查看Databricks集群中Spark的默认配置。

apache-spark databricks azure-databricks

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

Parquet分区同一列中不同类型的数据

我在从 S3 读取 PARQUET 文件时遇到错误,原因是“final_height”列在同一分区中获得了 String 和 Double 类型。有关信息,parquet 文件中有 20 多列。我收到的错误是:

ERROR 1: Failed merging schema of file ".../part1.gz.parquet":

ERROR 2: Caused by: org.apache.spark.SparkException:
Failed to merge fields 'final_height' and 'final_height'. Failed to merge incompatible data types double and string

ERROR 3: com.databricks.sql.io.FileReadException:
Error while reading file ".../part1.gz.parquet".
Parquet column cannot be converted. Column: [final_height], Expected: StringType, Found: DOUBLE

ERROR 4: com.databricks.sql.io.FileReadException:
Error while reading file ".../part1.gz.parquet".
Parquet column cannot be converted. Column: [final_height], Expected: DoubleType, Found: BINARY

ERROR …
Run Code Online (Sandbox Code Playgroud)

scala amazon-s3 apache-spark parquet databricks

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

Databricks 笔记本因内存作业而崩溃

我正在运行一些操作来在 azure databricks 上聚合大量数据(约 600GB)。我最近注意到笔记本崩溃并且数据块返回以下错误。相同的代码之前适用于较小的 6 节点集群。将其升级到 12 个节点后,我开始遇到此问题,我怀疑这是一个配置问题。

请提供任何帮助,我使用默认的 Spark 配置,分区数 = 200,并且我的节点上有 88 个执行程序。


Thanks
Internal error, sorry. Attach your notebook to a different cluster or restart the current cluster.
java.lang.RuntimeException: abort: DriverClient destroyed
    at com.databricks.backend.daemon.driver.DriverClient.$anonfun$poll$3(DriverClient.scala:381)
    at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
    at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    at com.databricks.threading.NamedExecutor$$anon$2.$anonfun$run$1(NamedExecutor.scala:335)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
    at com.databricks.logging.UsageLogging.$anonfun$withAttributionContext$1(UsageLogging.scala:238)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at com.databricks.logging.UsageLogging.withAttributionContext(UsageLogging.scala:233)
    at com.databricks.logging.UsageLogging.withAttributionContext$(UsageLogging.scala:230)
    at com.databricks.threading.NamedExecutor.withAttributionContext(NamedExecutor.scala:265)
    at com.databricks.threading.NamedExecutor$$anon$2.run(NamedExecutor.scala:335)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Run Code Online (Sandbox Code Playgroud)

azure pyspark databricks azure-databricks

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

如何从 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万
查看次数

如何将 sklearn 管道转换为 pyspark 管道?

我们有一个机器学习分类器模型,使用 pandas 数据框和标准 sklearn 管道(StandardScaler、RandomForestClassifier、GridSearchCV 等)进行训练。我们正在开发 Databricks,并希望使用 Spark 提供的并行计算功能将该管道扩展到大型数据集。

将 sklearn 管道转换为并行计算的最快方法是什么?(我们可以根据需要轻松地在 pandas 和 Spark DF 之间切换。)

就上下文而言,我们的选择似乎是:

  1. 使用MLLib重写管道(耗时)
  2. 使用 sklearn-spark 桥接库

对于选项 2,Spark-Sklearn 似乎已被弃用,但 Databricks建议我们使用 joblibspark。然而,这在 Databricks 上引发了一个例外:

from sklearn import svm, datasets
from sklearn.model_selection import GridSearchCV
from joblibspark import register_spark
from sklearn.utils import parallel_backend
register_spark() # register spark backend

iris = datasets.load_iris()
parameters = {'kernel':('linear', 'rbf'), 'C':[1, 10]}
svr = svm.SVC(gamma='auto')

clf = GridSearchCV(svr, parameters, cv=5)
with parallel_backend('spark', n_jobs=3):
    clf.fit(iris.data, iris.target)
Run Code Online (Sandbox Code Playgroud)

提高

py4j.security.Py4JSecurityException: …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn pyspark apache-spark-ml databricks

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

“databricks configure --token”挂起等待输入

我在 Azure DevOps 中运行以下任务,它总是挂起等待输入?为什么我的 bash 自动供给不工作?

databricksUrl=https://...
databricksToken=*****

databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
Run Code Online (Sandbox Code Playgroud)

azure-devops databricks azure-databricks databricks-cli

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

如何在SQL查询中使用变量?

因为在 SQL Server 中,我们可以声明变量, declare @sparksql='<any query/value/string>'但在 Spark sql 中可以使用什么替代方法。这样我们就不需要对任何值/查询/字符串进行硬编码。

apache-spark apache-spark-sql databricks

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