在 Databricks 中将字符串从 SCALA 传递到 Python

Posted

技术标签:

【中文标题】在 Databricks 中将字符串从 SCALA 传递到 Python【英文标题】:Pass String from SCALA to Python in Databricks 【发布时间】:2021-01-26 12:05:40 【问题描述】:

我有以下问题。我想将变量(字符串)的值从 scala 传递给 databricks 中的 python。我知道我可以使用这个命令在两种语言之间传输数据帧信息:

%scala
scalaDF.registerTempTable("some_table")

%python
spark.table("some_table")

但是我不能以这种方式传输字符串,有什么想法吗?

【问题讨论】:

你真的不能。将其保存到新的数据帧/rdd,或者如果在主节点上操作到文件。糟糕。 【参考方案1】:

在 scala spark 上下文中创建一个广播变量,并在 pyspark 上下文中获取它的值。

【讨论】:

【参考方案2】:

您可以运行 Spark SQL 命令来保存变量:

%scala

spark.sql("set var1 = 'abc'")

在 Python 中,你可以使用它来取回它

%python

spark.sql("select $var1").head()[0]

【讨论】:

以上是关于在 Databricks 中将字符串从 SCALA 传递到 Python的主要内容,如果未能解决你的问题,请参考以下文章

在scala中将spark决策树模型调试字符串转换为嵌套JSON

使用 Python/Scala 的 Databricks 雪花表

如何修复从 cosmos db 中的 databricks scala 读取流中的“错误:未找到:键入 CosmosDBSourceProvider”

如何在databricks sql中将字符串转换为日期

在 Databricks SQL 中将字符串转换为日期返回 null

如何从 QlikView 连接到 Databricks Delta 表?