将变量从 Scala 传递到 Databricks 中的 Python
Pass variables from Scala to Python in Databricks
我正在使用 Databricks 并尝试在同一个 Scala 笔记本中将数据帧从 Scala 传递到 Python。我使用
将数据帧从 Python 传递给 Spark
%python
python_df.registerTempTable("temp_table")
val scalaDF = table("temp_table")
如何反过来做同样的事情?非常感谢!!
反过来也差不多。在 Scala 中:
scalaDF.registerTempTable("some_table")
在Python中:
spark.table("some_table")
如果您使用最新的 Spark 版本,您应该使用 createOrReplaceTempView
代替 registerTempTable
。
您可以使用 .createOrReplaceTempView() 方法或 sql()。
这是一个示例,将数据帧从 scala python 传递到 sql 并沿途进行修改...然后返回到 scala。
%scala
var df = spark.range(0,10).selectExpr("*","'scala' language_origin")
df.createOrReplaceTempView("tableName")
display(df)
%python
df = sql("select * from tableName")
df2 = df.selectExpr("*","'python' language_added")
df2.createOrReplaceTempView("tableName")
display(df2)
%sql
create or replace temp view tableName as
select *, 'sql' language_added from tableName;
select * from tableName
%scala
df = sql("select * from tableName")
display(df)
我正在使用 Databricks 并尝试在同一个 Scala 笔记本中将数据帧从 Scala 传递到 Python。我使用
将数据帧从 Python 传递给 Spark%python
python_df.registerTempTable("temp_table")
val scalaDF = table("temp_table")
如何反过来做同样的事情?非常感谢!!
反过来也差不多。在 Scala 中:
scalaDF.registerTempTable("some_table")
在Python中:
spark.table("some_table")
如果您使用最新的 Spark 版本,您应该使用 createOrReplaceTempView
代替 registerTempTable
。
您可以使用 .createOrReplaceTempView() 方法或 sql()。
这是一个示例,将数据帧从 scala python 传递到 sql 并沿途进行修改...然后返回到 scala。
%scala
var df = spark.range(0,10).selectExpr("*","'scala' language_origin")
df.createOrReplaceTempView("tableName")
display(df)
%python
df = sql("select * from tableName")
df2 = df.selectExpr("*","'python' language_added")
df2.createOrReplaceTempView("tableName")
display(df2)
%sql
create or replace temp view tableName as
select *, 'sql' language_added from tableName;
select * from tableName
%scala
df = sql("select * from tableName")
display(df)