将字符串转换为正则表达式以通过Spark中的Rlike加入

时间:2018-12-17 10:37:33

标签: python regex apache-spark pyspark apache-spark-sql

#include <stdio.h>    
#include <stdlib.h>

int *toUpper(char *str)
{
    int i;
    for (i = 0; i < strlen(str); i++) {
        if (str[i] >= 'a' && str[i] <= 'z') {
            str[i] = str[i] - 'a' + 'A';
        }
    }
    return str;
}

int main(int argc, char **argv)
{
     for (int i = 1; i < argc; ++i)
     {
         printf(toUpper(argv[i]));
     }

}

我正在尝试根据字符串中的模式连接数据集。为此,我需要将类似“ _AA_BB”的字符串转换为正则表达式“ ^(?=。 _AA)(?=。 _BB)。* $”。我已经通过上面的udf设法实现了这一点。不幸的是,我有一个非常大的数据集,并且我读到udfs相当慢。

有什么办法可以通过常规的pyspark sparksql函数完成此任务吗?

0 个答案:

没有答案