下面的逻辑用dataframe怎么实现?

zs1602001 2017-03-22 05:25:58
两个dataframe,分别为df1,df2,各有两列

请问该如何实现下面的逻辑:

for()...遍历df1
{
for()...遍历df2
{
fun(df1.1, df1.2 , df2.1, df2.2 ) ...fun函数,参数是两个df 的两列
}
}

...全文
416 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinkSe7en 2017-04-05
  • 打赏
  • 举报
回复
引用 2 楼 link0007 的回复:
你其实是想做join吧?直接df1 df2做笛卡尔乘积,过滤想要的行后执行你的fun函数

df1.registerTempTable("df1");
df2.registerTempTable("df2");

DataFrame res = sqlContext.sql("select udf(df1.1,df1.2,df2.1,df2.2) as udf_result from df1 join df2 on 1=1"); // 完全笛卡尔乘积就1=1
res.show;
LinkSe7en 2017-04-05
  • 打赏
  • 举报
回复
你其实是想做join吧?直接df1 df2做笛卡尔乘积,过滤想要的行后执行你的fun函数
tchqiq 2017-04-03
  • 打赏
  • 举报
回复
明确告诉你不行. df底层是rdd,rdd是分布式的,不能做嵌套,会出问题的. 你能说下你要实现什么功能吗?一定要用嵌套查询实现吗?df提供的api不能满足吗?

1,258

社区成员

发帖
与我相关
我的任务
社区描述
Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于MapReduce算法实现的分布式计算。
社区管理员
  • Spark
  • shiter
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧