首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中将R记事本任务中的数据返回给Python任务

如何在数据库中将R记事本任务中的数据返回给Python任务
EN

Stack Overflow用户
提问于 2022-07-05 08:04:06
回答 1查看 38关注 0票数 1

我有一个简单的功能,在一个R笔记本(笔记本A),聚合一些数据。我想从另一个笔记本(笔记本B)中调用笔记本A,并在笔记本B中将来自笔记本A的汇总数据相互连接。

到目前为止,我可以运行笔记本A从笔记本B没有问题,但不能看到任何返回的数据,变量或函数。

笔记本A中的代码:

代码语言:javascript
复制
function_to_aggregate_data = function(x,y){
 ...some code...
 }
aggregated_data = function_to_aggregate_data(x,y)

记事本B中的代码:

代码语言:javascript
复制
%python
dbutils.notebook.run("path/to/notebook_A", 60)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-05 10:26:11

当您使用dbutils.notebook.run时,该笔记本将作为一个单独的作业执行,因此调用者笔记本或被调用的笔记本中没有任何变量等可用。您可以使用dbutils.notebook.exit从笔记本中返回一些数据,但限制在1024字节(如我所记得的)。但是您可以通过注册temp视图,然后访问这个temp视图中的数据来返回数据--下面是一个这样做的示例(尽管两者都使用Python )。

记事本B

代码语言:javascript
复制
def generate_data1(n=1000, name='my_cool_data'):
  df = spark.range(0, n)
  df.createOrReplaceTempView(name)

笔记本A:

代码语言:javascript
复制
dbutils.notebook.run('./Code1', default_timeout)
df = spark.sql("select * from my_cool_data")
assert(df.count() == 1000)

您不能直接在R& Python代码之间共享数据,只能使用临时视图等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72865985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档