操作的数据:

{"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相关推荐

  1. HQL写topN、Spark写topN

    HQL写topN用窗口函数rank() .row_number().dense_rank() 1.rank(),跳跃排序,假如第一第二相同,那么第三个就是3 select * from( select ...

  2. Spark编写UDF函数案例

    Spark编写UDF函数案例 一.前述 二.UDF函数 需求:将orders表中 order_dow和order_number进行求和 一.前述 SparkSql中自定义函数包括UDF和UDAF UD ...

  3. 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 ...

  4. spark的UDF和UDAF用法

    UDF(user defined function) UDF: 输入一行, 返回一个结果. 一对一关系 放入函数一个值, 就返回一个值, 而不会返回多个值. 如下面的例子就可以看出: (x: Stri ...

  5. Spark 写出MySQL报错,java.sql.BatchUpdateException

    spark DataFrame 写出到MySQL时报如下错误: java.sql.BatchUpdateException: Column 'name' specified twice at sun. ...

  6. 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 ...

  7. Spark写Redis+Spark资源配置总结

    1. 起源于Error 19/10/16 11:22:06 ERROR YarnClusterScheduler: Lost executor 28 on **********: Container ...

  8. spark写出分布式的训练算法_利用 Spark 和 scikit-learn 将你的模型训练加快 100 倍...

    在 Ibotta,我们训练了许多机器学习模型.这些模型为我们的推荐系统.搜索引擎.定价优化引擎.数据质量等提供动力.它们在与我们的移动应用程序交互时为数百万用户做出预测. 当我们使用 Spark 进行 ...

  9. 扩展mysql_扩展mysql - 手把手教你写udf

    1 MySQL简介 MySQL是最流行的开放源码SQL数据库管理系统,相对于Oracle,DB2等大型数据库系统,MySQL由于其开源性.易用性.稳定性等特点,受到个人使用者.中小型企业甚至一些大型企 ...

最新文章

  1. MyBatis之级联——一对一关系
  2. SpringBoot+tomcat+web
  3. FIFO跨时钟域读写
  4. fabric 一个链码如何调用另一个链码
  5. BOOST_TEST_LE和BOOST_TEST_LT的用法
  6. linux mq发送测试消息,WebSphere MQ测试常用指令
  7. 软件工程开篇自我介绍
  8. c#课程设计简单题目_《C#项目案例》课程设计题目
  9. XXX管理平台系统——项目风险
  10. STM32F103单片机JTAG端口重映射
  11. 哈工大女孩学计算机毕业转行,2020考生切记,上985读这些专业,据说都是“坑”!...
  12. 如何根据参数类型重载__init__方法?
  13. 桥牌笔记:一定要飞张?
  14. 安装完永中office2009不能正常启动
  15. 全国通用DNS服务器
  16. 抖音热门音乐整理合集歌曲打包分享
  17. 轨道交通检测中心-轨道交通产品可靠性检测机构
  18. Java应用题:模拟一个简单的购房商贷月供计算器,按照以下公式计算总利息和每月还款金额,总利息=贷款金额*利率,贷款年限不同利率也不同,这里规定只有三种年限、利率,见表
  19. JavaScript比较运算大于小于等于
  20. Daily Practice 5th:Educational Codeforces Round 120 (Rated for Div. 2)

热门文章

  1. 华为:为什么美国更需要华为 而不是华为更需要美国
  2. Ubuntu18.04+RTX2080+cuda10+tensorflow
  3. 企业数字化转型的关键一步,建立数据意识
  4. jq遍历子元素_jquery:::选择器/遍历/获取所有的子元素、兄弟元素
  5. 编程之路第12天:帮你是情分,不帮你是本分,说得真太对了
  6. SpringBoot解决跨域问题的六种方式
  7. 使用Coding托管代码
  8. 大话II的wdf文件概述
  9. 情人节之每天给你的女朋友发短信(nodejs版)
  10. QML控件类型:ToolTip