问题标签 [semi-join]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
46 浏览

r - semi_join 根据多个 Y 列过滤 X 的列

从这两个数据帧开始:

我想对子集进行子集data化,使其仅包含来自Run_ID+对的值,这些值Sample也存在于metadata. 输出应包含与 相同的列data

预期输出:

根据文档,它似乎semi_join()应该是解决方案,但我无法根据这两个变量找出连接。

任何建议都非常感谢!

0 投票
2 回答
446 浏览

apache-spark - 在连接中广播左表

这是我的加入:

看来我只能广播正确的数据帧。但是为了让我的逻辑起作用(leftanti join),我必须df_small在左侧。

如何广播左侧的数据帧?


例子:

0 投票
1 回答
7175 浏览

r - dplyr semi_join 错误:`x` 和 `y` 必须共享同一个 src,设置 `copy` = TRUE(可能很慢)

我正在使用 dplyr 1.0.6 和 R 4.1.0,我编写了 2 个函数,如下所示:

loadAllCustomersData() 返回两个数据框的列表,然后 matchCustomersByNationalCode 尝试在这两个 data.frame 上执行 semi_join,如下所示:

实际上,这只是 semi_join 命名的一个包装器。但它通过一个错误说:

错误:x并且y必须共享同一个 src,设置copy= TRUE(可能很慢)。

运行rlang::last_error()以查看错误发生的位置。

调用自:signal_abort(cnd)

有人可以帮忙吗?

0 投票
0 回答
220 浏览

python - AnalysisException:不支持在连接类型 LeftSemi 的连接条件中使用 PythonUDF

我没有在任何地方做 LeftSemi join,也没有使用 python UDF。加入两个数据框时,我仍然收到此错误。

df1 - 一列,是表的主键,比如“customerHash”。它可能是空的(实际上在我目前的情况下,它是空的)。

df2 - 一个也有 customerHash 列的表,但它的主键列不同。

代码成功运行,但是当我尝试显示/收集/保留结果表时,它会引发上述错误。我完全不知道为什么会这样——我的猜测是因为 df1 是空的。但是当表为空时,连接不会抛出错误,对吧?

我的主要目标是仅获取其 customerHash 在 df1 中的 df2 行。我可以使用

但我不想使用它,因为它很慢。

请帮忙!

0 投票
1 回答
39 浏览

mysql - Sql 仅在存在相关的其他表记录时才获取记录

表:用户

ID 编译ID
1 补偿1
2 补偿1

表:公司

ID 姓名
补偿1 可乐
补偿2 百事可乐

需要一个 MYSQL 查询,只有当它有一个或多个用户时,它才应该获取公司记录,当传递一个公司 ID 时。我将在公司表上有其他条件。

这可以通过连接来实现吗?

示例 1:查询(comp1)结果:可乐(至少存在一个用户)

示例2:查询(comp2)结果:没有记录(因为不存在属于comp2公司的用户)