我正在尝试在增量表之上创建一个外部 BQ 外部表,该表使用谷歌存储作为存储层。在增量表上,我们执行 DML,其中包括删除。
我可以在所有增量文件都存在的 gs 存储桶顶部创建一个 BQ 外部表。然而,它甚至会拉取删除记录,因为 BQ 外部表无法读取 delta 的事务日志,其中它说明要考虑哪些 parquet 文件以及要删除哪些文件。
除了以编程方式将数据从 delta 复制到 BQ 之外,有没有一种方法可以将 BQ 中的 delta 表(gs 位置)的最新快照公开为外部表?
我尝试访问{{secrets/secrectScope/Key}}databricks 集群的高级选项卡中的秘密,它工作正常。但是当我尝试在 databricks init 脚本中使用相同的内容时,它不起作用。
做到这一点的步骤是什么?
有没有办法访问 Repo 内笔记本内的数据,例如 Repo url 和分支名称?也许是 dbutils 中的东西。
我正在尝试使用以下命令删除 databrick scala 中的多个表
select 'DROP TABLE ' + tableName from ABC where tableName LIKE 'in%'
Run Code Online (Sandbox Code Playgroud)
错误结果说
SQL 语句错误: AnalysisException:未找到表或视图:ABC
然而 ABC 数据库存在
谢谢
我正在考虑使用 Apache Cassandra 创建一个多租户应用程序。
我可以想到三个策略:
我脑海中的声音建议我选择选项 3。
想法和影响,有人吗?
尝试读取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
在 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) 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
我想连接到需要身份验证的远程跟踪服务器( 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 需要授权
我知道我需要先登录,但我不知道该怎么做
当尝试使用 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。
另外,我使用:
有人对新的 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) databricks ×7
pyspark ×4
apache-spark ×3
delta-lake ×2
python ×2
azure ×1
cassandra ×1
databricks-community-edition ×1
dbutils ×1
mlflow ×1
mlops ×1
scala ×1
tracking ×1