#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函数完成此任务吗?