我已经安装并配置了 Databricks CLI,但在运行时出现以下错误
databricks workspace ls
Run Code Online (Sandbox Code Playgroud)
返回错误:
错误:您的身份验证信息可能不正确。请使用 dbfs configure 重新配置
安装 CLI 的步骤
1) 使用安装pip install databricks-cli
2) 使用 CLI 配置databricks configure --token。我的~/.databrickscfg文件如下所示:
[DEFAULT]
host = https://<account>.cloud.databricks.com
token = <password_generated_from_access_token
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这个错误并有解决方案?
我在下面定义了 pandas udf
schema2 = StructType([ StructField('sensorid', IntegerType(), True),
StructField('confidence', DoubleType(), True)])
@pandas_udf(schema2, PandasUDFType.GROUPED_MAP)
def PreProcess(Indf):
confidence=1
sensor=Indf.iloc[0,0]
df = pd.DataFrame(columns=['sensorid','confidence'])
df['sensorid']=[sensor]
df['confidence']=[0]
return df
Run Code Online (Sandbox Code Playgroud)
然后我将一个包含 3 列的 Spark 数据帧传递到该 udf 中
results.groupby("sensorid").apply(PreProcess)
results:
+--------+---------------+---------------+
|sensorid|sensortimestamp|calculatedvalue|
+--------+---------------+---------------+
| 397332| 1596518086| -39.0|
| 397332| 1596525586| -31.0|
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
RuntimeError: Number of columns of the returned pandas.DataFrame doesn't match specified schema.Expected: 3 Actual: 4
Run Code Online (Sandbox Code Playgroud)
我可以说出该错误想要表达的内容,但我不明白该错误是如何弹出的。我认为我正在返回结构中指定的数据帧的正确两列
我在 Azure DevOps 中运行以下任务,它总是挂起等待输入?为什么我的 bash 自动供给不工作?
databricksUrl=https://...
databricksToken=*****
databricks configure --token << EOF
$(databricksUrl)
$(databricksToken)
EOF
Run Code Online (Sandbox Code Playgroud) 我设法使用 Kaggle API 从 Kaggle 下载数据集。数据存储在/databricks/driver目录下。
%sh pip install kaggle
%sh
export KAGGLE_USERNAME=my_name
export KAGGLE_KEY=my_key
kaggle competitions download -c ncaaw-march-mania-2021
%sh unzip ncaaw-march-mania-2021.zip
Run Code Online (Sandbox Code Playgroud)
问题是:如何在 DBFS 中使用它们?以下是我读取数据的方式以及尝试使用pyspark读取csv文件时遇到的错误:
spark.read.csv('/databricks/driver/WDataFiles_Stage1/Cities.csv')
AnalysisException: Path does not exist: dbfs:/databricks/driver/WDataFiles_Stage1/Cities.csv
Run Code Online (Sandbox Code Playgroud) 在 Databricks 中,如果我的作业请求 json 为:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
Run Code Online (Sandbox Code Playgroud)
如何访问作业附加笔记本内的笔记本参数?
amazon-web-services databricks dbutils aws-databricks databricks-workflows
我对 Lake House 架构模式了解得越多,并关注 Databricks 的演示,我就几乎看不到任何关于传统数据仓库(Kimball 方法)中的维度建模的讨论。我知道计算和存储要便宜得多,但是如果没有数据建模,查询性能是否会有更大的影响?从 Spark 3.0 开始,我看到了所有很酷的功能,例如自适应查询引擎、动态分区修剪等,但是维度建模是否因此而过时了?如果有人使用 Databricks 实现维度建模,请分享您的想法?
bigdata apache-spark databricks azure-databricks databricks-sql
我正在学习Databricks,我有一些关于z-order 和partitionBy 的问题。当我阅读这两个函数时,听起来非常相似。这两个函数都以某种方式对数据进行分组,以加速读取操作。另外,partitionBy 看起来很适合连接操作,但我真的不明白当我只想读取数据时应该使用什么函数。你能告诉我应该如何考虑这两个函数才能正确使用它吗?
我正在使用 Databricks Delta Live Tables,但在向上游插入某些表时遇到一些问题。我知道下面的文字很长,但我试图尽可能清楚地描述我的问题。如果某些部分不清楚,请告诉我。
我有以下表格和流程:
Landing_zone -> 这是一个添加 JSON 文件的文件夹,其中包含插入或更新的记录的数据。Raw_table -> 这是 JSON 文件中的数据,但采用表格格式。该表采用增量格式。除了将 JSON 结构转换为表格结构(我进行了爆炸,然后从 JSON 键创建列)之外,未进行任何转换。Intermediate_table -> 这是 raw_table,但有一些额外的列(取决于其他列值)。
为了从我的着陆区转到原始表,我有以下 Pyspark 代码:
cloudfile = {"cloudFiles.format":"JSON",
"cloudFiles.schemaLocation": sourceschemalocation,
"cloudFiles.inferColumnTypes": True}
@dlt.view('landing_view')
def inc_view():
df = (spark
.readStream
.format('cloudFiles')
.options(**cloudFilesOptions)
.load(filpath_to_landing)
<Some transformations to go from JSON to tabular (explode, ...)>
return df
dlt.create_target_table('raw_table',
table_properties = {'delta.enableChangeDataFeed': 'true'})
dlt.apply_changes(target='raw_table',
source='landing_view',
keys=['id'],
sequence_by='updated_at')
Run Code Online (Sandbox Code Playgroud)
这段代码按预期工作。我运行它,将一个changes.JSON文件添加到登陆区域,重新运行管道,并将更新插入正确地应用于“raw_table”
(但是,每次在 delta 文件夹中创建包含所有数据的新 parquet 文件时,我希望只添加包含插入和更新行的 parquet 文件?并且有关当前版本的一些信息保留在 delta 中日志?不确定这是否与我的问题相关。我已经将“raw_table”的 table_properties 更改为enableChangeDataFeed = true。“intermediate_table”的 readStream 有选项(readChangeFeed,“true”))。
然后我有以下代码从“raw_table”转到“intermediate_table”: …
databricks delta-lake databricks-autoloader delta-live-tables
使用 DLT 时,我们可以使用 STREAMING LIVE TABLE 或 LIVE TABLE 创建实时表,如文档中所述:
创建或刷新{流式直播表| 实时表 } 表名
两种语法有什么区别?
Sql Delta 表和 Databricks Delta 表之间有区别吗?看起来对于 SQL,我们在概念上使用这个名称。存储Base表差异的表是Delta。数据块也一样吗?
databricks ×9
apache-spark ×3
delta-lake ×3
python ×2
azure-devops ×1
bigdata ×1
databricks-community-edition ×1
dbutils ×1
kaggle ×1
pandas ×1
partitioning ×1
sql-server ×1
z-order ×1