首页 理论教育 Westernstate函数:实现方法与案例详解

Westernstate函数:实现方法与案例详解

时间:2023-07-02 理论教育 版权反馈
【摘要】:通过自定义函数westernState,传入顾客所在州的参数,由函数westernState判断是否包含在这四个州中,即给定的字符串是否包含在"CA""OR""WA""AK"中。3)在临时表customerTable中执行查询操作,自定义函数作为过滤条件,查询打印结果。

Westernstate函数:实现方法与案例详解

函数名称:westernState,查询顾客是否归属于美国加利福尼亚州CA(California)、俄勒冈州OR(Oregon)、华盛顿州WA(Washington)、阿拉斯加州AK(Alaska)。

函数功能:查询统计顾客商品的购买记录,顾客信息包括ID,姓名,销售额,折扣金额,所在州,其中CA是美国加利福尼亚州(California)、AZ是亚利桑那州(Arizona)、MA是马萨诸塞州(Massachusetts)。本示例要统计查询四个州的顾客购买记录(美国加利福尼亚州CA(California)、俄勒冈州OR(Oregon)、华盛顿州WA(Washington)、阿拉斯加州AK(Alaska))。通过自定义函数westernState,传入顾客所在州的参数,由函数westernState判断是否包含在这四个州中,即给定的字符串是否包含在"CA""OR""WA""AK"中。

函数示例:

1)定义Customer的case class类,构建Customer类型的Seq集合变量custs,通过sc的parallelize方法读入custs数据,调用toDF()方法转换成DataFrame,注册成临时表customer-Table。

2)在sqlContext.udf中注册westernState的自定义函数,westernState_是偏函数,western-State函数中传入一个参数,判断参数给定的字符串是否包含在"CA""OR""WA""AK"中。(www.xing528.com)

3)在临时表customerTable中执行查询操作,自定义函数作为过滤条件(传入的state是否在"CA","OR","WA","AK"中),查询打印结果。

在本地运行,结果如下所示。

查询顾客归属于美国加利福尼亚州CA(California)、俄勒冈州OR(Oregon)、华盛顿州WA(Washington)、阿拉斯加州AK(Alaska)这四个州的顾客商品购买记录,这里亚利桑那州AZ(Arizona)、马萨诸塞州MA(Massachusetts)不在这四个州范围里面,查询出归属于美国加利福尼亚州CA的所有顾客商品购买记录。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈