小编r1t*_*1ty的帖子

Hive 选择 A 列中的字符串包含 B 列中的字符串的行

我有一个数据集,其中一列中包含一些具有无效条目的行。

我试图从 B 列和 C 列中选择所有不同的行,但 B 列有无效条目。A 列中的字符串包含 B 列的正确名称,因此如果我能弄清楚如何选择 str(b) 在 str(a) 中的所有行,那么我最终应该只得到正确的数据。

伪代码可能如下所示:

SELECT DISTINCT b,c FROM some.log WHERE date = 'today' AND str(b) IN str(a)
Run Code Online (Sandbox Code Playgroud)

我知道如何使用 Python 来解决这个问题,但每一行的 A 列都是唯一的。因此,如果我选择不同的行并包含 A 列,我实际上只是选择了所有行,这会产生一个 60gb 的文件。

python 代码如下所示:

df = df[df.apply(lambda x: x.name in x.url, axis=1)]
Run Code Online (Sandbox Code Playgroud)

这会导致这样的事情:

df

a                         b        c
/bobs/burgers/1234        bobs     idx 
/bobs/burgers/2234        fred     idx
/cindys/sandwhiches/3234  cindy    idx

df = df[df.apply(lambda x: x.name in x.url, axis=1)]

a                         b        c
/bobs/burgers/1234        bobs     idx
/cindys/sandwhiches/3234  cindy    idx
Run Code Online (Sandbox Code Playgroud)

是否可以使用 …

string hive hiveql

2
推荐指数
1
解决办法
5064
查看次数

标签 统计

hive ×1

hiveql ×1

string ×1