小编Ale*_*Ott的帖子

如何在 GCS 中的增量表之上创建 BQ 外部表并仅显示最新快照

我正在尝试在增量表之上创建一个外部 BQ 外部表,该表使用谷歌存储作为存储层。在增量表上,我们执行 DML,其中包括删除。

我可以在所有增量文件都存在的 gs 存储桶顶部创建一个 BQ 外部表。然而,它甚至会拉取删除记录,因为 BQ 外部表无法读取 delta 的事务日志,其中它说明要考虑哪些 parquet 文件以及要删除哪些文件。

除了以编程方式将数据从 delta 复制到 BQ 之外,有没有一种方法可以将 BQ 中的 delta 表(gs 位置)的最新快照公开为外部表?

google-cloud-storage google-bigquery pyspark delta-lake

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

如何访问 databricks initscript 中的机密

我尝试访问{{secrets/secrectScope/Key}}databricks 集群的高级选项卡中的秘密,它工作正常。但是当我尝试在 databricks init 脚本中使用相同的内容时,它不起作用。

做到这一点的步骤是什么?

databricks azure-databricks azure-secrets

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

如何访问 Databricks Repos 元数据?

有没有办法访问 Repo 内笔记本内的数据,例如 Repo url 和分支名称?也许是 dbutils 中的东西。

databricks databricks-repos

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

使用 Databricks 删除数据库中的多个表

我正在尝试使用以下命令删除 databrick scala 中的多个表

select 'DROP TABLE ' + tableName from ABC where tableName LIKE 'in%'
Run Code Online (Sandbox Code Playgroud)

错误结果说

SQL 语句错误: AnalysisException:未找到表或视图:ABC

然而 ABC 数据库存在

谢谢

scala databricks databricks-sql

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

Cassandra 中多租户数据库的推荐方法是什么?

我正在考虑使用 Apache Cassandra 创建一个多租户应用程序。

我可以想到三个策略:

  1. 同一密钥空间中的所有租户都使用租户特定的字段来确保安全
  2. 单个共享数据库中每个租户的表
  3. 每个租户的密钥空间

我脑海中的声音建议我选择选项 3。

想法和影响,有人吗?

cassandra cassandra-2.0 spring-data-cassandra cassandra-3.0

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

无法在 databricks 社区版集群中 cat dbfs 文件。FileNotFoundError: [Errno 2] 没有这样的文件或目录:

尝试读取databricks 社区版集群中的增量日志文件。(databricks-7.2 版本)

df=spark.range(100).toDF("id")
df.show()
df.repartition(1).write.mode("append").format("delta").save("/user/delta_test")
Run Code Online (Sandbox Code Playgroud)
with open('/user/delta_test/_delta_log/00000000000000000000.json','r')  as f:
  for l in f:
    print(l)
Run Code Online (Sandbox Code Playgroud)

Getting file not found error:

FileNotFoundError: [Errno 2] No such file or directory: '/user/delta_test/_delta_log/00000000000000000000.json'
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<command-1759925981994211> in <module>
----> 1 with open('/user/delta_test/_delta_log/00000000000000000000.json','r')  as f:
      2   for l in f:
      3     print(l)

FileNotFoundError: [Errno 2] No such file or directory: '/user/delta_test/_delta_log/00000000000000000000.json'
Run Code Online (Sandbox Code Playgroud)

我尝试添加/dbfs/,但dbfs:/没有解决,仍然出现相同的错误。

with open('/dbfs/user/delta_test/_delta_log/00000000000000000000.json','r')  as f:
  for l in f:
    print(l)
Run Code Online (Sandbox Code Playgroud)

但是使用dbutils.fs.head我能够读取文件。 …

apache-spark pyspark databricks dbutils databricks-community-edition

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

AttributeError: 'DataFrame' 对象没有属性 '_data'

在 Pandas 数据帧上并行化时 Azure Databricks 执行错误。代码能够创建RDD但在执行时中断.collect()

设置:

import pandas as pd
# initialize list of lists 
data = [['tom', 10], ['nick', 15], ['juli', 14]] 
  
# Create the pandas DataFrame 
my_df = pd.DataFrame(data, columns = ['Name', 'Age']) 

def testfn(i):
  return my_df.iloc[i]
test_var=sc.parallelize([0,1,2],50).map(testfn).collect()
print (test_var)
Run Code Online (Sandbox Code Playgroud)

错误:

Py4JJavaError                             Traceback (most recent call last)
<command-2941072546245585> in <module>
      1 def testfn(i):
      2   return my_df.iloc[i]
----> 3 test_var=sc.parallelize([0,1,2],50).map(testfn).collect()
      4 print (test_var)

/databricks/spark/python/pyspark/rdd.py in collect(self)
    901         # Default path used in OSS Spark / for non-credential …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark databricks azure-databricks

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

delta Lake - 在 pyspark 中插入 sql 失败,出现 java.lang.NoSuchMethodError: org.apache.spark.sql.catalyst.expressions.Alias

Dataproc 集群是使用2.0.x带有 delta io 包的映像创建的io.delta:delta-core_2.12:0.7.0

Spark 版本是 3.1.1

Spark shell 启动:

pyspark --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
Run Code Online (Sandbox Code Playgroud)

执行命令以创建增量表并插入到增量 sql 中:

spark.sql("""CREATE TABLE IF NOT EXISTS customer(
             c_id Long, c_name String, c_city String
             )
           USING DELTA LOCATION 'gs://edw-bi-dev-dataexports/delta-table-poc/dt_poc/customer'
         """)

spark.sql("INSERT INTO customer VALUES(1, 'Shawn', 'Tx')")
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/spark/python/pyspark/sql/session.py", line 719, in sql
    return DataFrame(self._jsparkSession.sql(sqlQuery), self._wrapped)
  File "/usr/lib/spark/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py", line 1305, in __call__
  File "/usr/lib/spark/python/pyspark/sql/utils.py", line 111, in deco …
Run Code Online (Sandbox Code Playgroud)

apache-spark pyspark google-cloud-dataproc databricks delta-lake

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

如何连接到具有身份验证的 MLFlow 跟踪服务器?

我想连接到需要身份验证的远程跟踪服务器( http://123.456.78.90 )

当我这样做时:

import mlflow
mlflow.set_tracking_uri("http://123.456.78.90")
mlflow.set_experiment("my-experiment")
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

MlflowException:对端点 /api/2.0/mlflow/experiments/list 的 API 请求失败,错误代码为 401!= 200。响应正文:401 需要授权

我知道我需要先登录,但我不知道该怎么做

authorization tracking mlflow mlops

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

无法使用 databricks-connect“V2”V.13.2 访问 databricks 集群

当尝试使用 databricks-connect 13.2.0 执行本地 Spark 代码时,它不起作用。

我有以下问题:

错误:

  • 详情="INVALID_STATE: cluster xxxxx is not Shared or Single User Cluster. (requestId=05bc3105-4828-46d4-a381-7580f3b55416)"
  • 调试错误字符串="UNKNOWN:Error received from peer {grpc_message:"INVALID_STATE: cluster 0711-122239-bb999j6u is not Shared or Single User Cluster. (requestId=05bc3105-4828-46d4-a381-7580f3b55416)", grpc_status:9, created_time:"2023-07-11T15:26:08.9729+02:00"}"

该集群是共享的,我尝试了几种集群配置,但它不起作用!集群运行时版本为13.2。

另外,我使用:

  • Python 3.10
  • openjdk版本“1.8.0_292”
  • Azure 数据块

有人对新的 databricks connect 遇到过类似的问题吗?

感谢帮助!

我尝试了以下代码:

from databricks.connect import DatabricksSession
from pyspark.sql.types import *

from delta.tables import DeltaTable
from datetime import date


if __name__ == "__main__":
    spark = DatabricksSession.builder.getOrCreate()

    # Create a Spark DataFrame consisting …
Run Code Online (Sandbox Code Playgroud)

python azure databricks azure-databricks databricks-connect

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