我有一个简单的功能,在一个R笔记本(笔记本A),聚合一些数据。我想从另一个笔记本(笔记本B)中调用笔记本A,并在笔记本B中将来自笔记本A的汇总数据相互连接。
到目前为止,我可以运行笔记本A从笔记本B没有问题,但不能看到任何返回的数据,变量或函数。
笔记本A中的代码:
function_to_aggregate_data = function(x,y){
...some code...
}
aggregated_data = function_to_aggregate_data(x,y)记事本B中的代码:
%python
dbutils.notebook.run("path/to/notebook_A", 60)发布于 2022-07-05 10:26:11
当您使用dbutils.notebook.run时,该笔记本将作为一个单独的作业执行,因此调用者笔记本或被调用的笔记本中没有任何变量等可用。您可以使用dbutils.notebook.exit从笔记本中返回一些数据,但限制在1024字节(如我所记得的)。但是您可以通过注册temp视图,然后访问这个temp视图中的数据来返回数据--下面是一个这样做的示例(尽管两者都使用Python )。
def generate_data1(n=1000, name='my_cool_data'):
df = spark.range(0, n)
df.createOrReplaceTempView(name)笔记本A:
dbutils.notebook.run('./Code1', default_timeout)
df = spark.sql("select * from my_cool_data")
assert(df.count() == 1000)您不能直接在R& Python代码之间共享数据,只能使用临时视图等。
https://stackoverflow.com/questions/72865985
复制相似问题