在 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”