我是spark sql的学习者。有人能帮我解决下面的问题吗?
包名称:sparksql,类name:custommethod,方法name:removespecialchar
在scala中创建一个自定义方法,该方法接受1个字符串作为参数,1个字符串类型的返回值
方法必须删除所有特殊字符数字0到9-?,/\()[]使用replaceall函数从dataframe返回一列。输入:windows-x64(操作系统)输出:windows x操作系统
我有一个名为df1的Dataframe,在另一个名为sparksql2的类中有6列
3.导入包,示例化sparksql2类中的custommethod方法,将上述步骤生成的方法注册为调用sparksql dataframe的自定义项。
通过传递single columnname作为参数来调用dsl中的上述udf,以从dataframe中删除特殊字符,并将结果作为json保存到hdfs位置
1条答案
按热度按时间wtzytmuj1#
您不需要自定义项,只需使用纯spark并在带有regexp\u replace的函数中定义它即可。
举个例子:
有了它,您就可以在Dataframe上使用它,而无需注册自定义项:
输出: