用Spark写UDF
操作的数据:
{"city":"St. John's","avgHigh":8.7,"avgLow":0.6}
{"city":"Charlottetown","avgHigh":9.7,"avgLow":0.9}
{"city":"Halifax","avgHigh":11.0,"avgLow":1.6}
{"city":"Fredericton","avgHigh":11.2,"avgLow":-0.5}
{"city":"Quebec","avgHigh":9.0,"avgLow":-1.0}
{"city":"Montreal","avgHigh":11.1,"avgLow":1.4}
object UdfDemo1 {def main(args: Array[String]): Unit = {val conf: SparkConf = new SparkConf().setAppName("").setMaster("local")val sc = new SparkContext(conf)// 可以执行SQL语句的实例val sct: SQLContext = new SQLContext(sc)// 以json格式读取文件val file: DataFrame = sct.read.json("E://words.txt")// 创建表file.createOrReplaceTempView("citytemps")// 注册一个函数, 输出的每个数都进行处理sct.udf.register("CTOF",(dc:Double)=>((dc*9.0/5.0)+32.0))// 调用函数 自定义函数(参数)sct.sql("select city,CTOF(avgLow) as avgLows, CTOF(avgHigh) as avgHighs from citytemps").show()sc.stop()}
}
输出结果:
+-------------+-------+--------+
| city|avgLows|avgHighs|
+-------------+-------+--------+
| null| null| null|
|Charlottetown| 33.62| 49.46|
| Halifax| 34.88| 51.8|
| Fredericton| 31.1| 52.16|
| Quebec| 30.2| 48.2|
| Montreal| 34.52| 51.98|
+-------------+-------+--------+
用Spark写UDF相关推荐
- HQL写topN、Spark写topN
HQL写topN用窗口函数rank() .row_number().dense_rank() 1.rank(),跳跃排序,假如第一第二相同,那么第三个就是3 select * from( select ...
- Spark编写UDF函数案例
Spark编写UDF函数案例 一.前述 二.UDF函数 需求:将orders表中 order_dow和order_number进行求和 一.前述 SparkSql中自定义函数包括UDF和UDAF UD ...
- spark写mysql优化简书_spark读写mysql、hive、kafka数据demo
读取hive库数据 pom.xml依赖配置 org.apache.spark spark-core_2.11 2.1.1 org.apache.spark spark-hive_2.11 2.1.1 ...
- spark的UDF和UDAF用法
UDF(user defined function) UDF: 输入一行, 返回一个结果. 一对一关系 放入函数一个值, 就返回一个值, 而不会返回多个值. 如下面的例子就可以看出: (x: Stri ...
- Spark 写出MySQL报错,java.sql.BatchUpdateException
spark DataFrame 写出到MySQL时报如下错误: java.sql.BatchUpdateException: Column 'name' specified twice at sun. ...
- spark hive udf java_【填坑六】 spark-sql无法加载Hive UDF的jar
/usr/custom/spark/bin/spark-sql --deploy-mode client add jar hdfs://${clusterName}/user/hive/udf/udf ...
- Spark写Redis+Spark资源配置总结
1. 起源于Error 19/10/16 11:22:06 ERROR YarnClusterScheduler: Lost executor 28 on **********: Container ...
- spark写出分布式的训练算法_利用 Spark 和 scikit-learn 将你的模型训练加快 100 倍...
在 Ibotta,我们训练了许多机器学习模型.这些模型为我们的推荐系统.搜索引擎.定价优化引擎.数据质量等提供动力.它们在与我们的移动应用程序交互时为数百万用户做出预测. 当我们使用 Spark 进行 ...
- 扩展mysql_扩展mysql - 手把手教你写udf
1 MySQL简介 MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性.易用性.稳定性等特点,受到个人使用者.中小型企业甚至一些大型企 ...
最新文章
- MyBatis之级联——一对一关系
- SpringBoot+tomcat+web
- FIFO跨时钟域读写
- fabric 一个链码如何调用另一个链码
- BOOST_TEST_LE和BOOST_TEST_LT的用法
- linux mq发送测试消息,WebSphere MQ测试常用指令
- 软件工程开篇自我介绍
- c#课程设计简单题目_《C#项目案例》课程设计题目
- XXX管理平台系统——项目风险
- STM32F103单片机JTAG端口重映射
- 哈工大女孩学计算机毕业转行,2020考生切记,上985读这些专业,据说都是“坑”!...
- 如何根据参数类型重载__init__方法?
- 桥牌笔记:一定要飞张?
- 安装完永中office2009不能正常启动
- 全国通用DNS服务器
- 抖音热门音乐整理合集歌曲打包分享
- 轨道交通检测中心-轨道交通产品可靠性检测机构
- Java应用题:模拟一个简单的购房商贷月供计算器,按照以下公式计算总利息和每月还款金额,总利息=贷款金额*利率,贷款年限不同利率也不同,这里规定只有三种年限、利率,见表
- JavaScript比较运算大于小于等于
- Daily Practice 5th:Educational Codeforces Round 120 (Rated for Div. 2)