SparkSQL声明式

简单案例

import org.apache.spark.sql.SparkSession
import org.junit.Test

case class Person(id:Int,name:String,sex:String,age:Int)
class DataSetCreate {

  val spark = SparkSession
    .builder()
    .appName("test")
    .master("local[4]")
    .getOrCreate()
  import spark.implicits._

  @Test
  def createData():Unit={
    val list = List(Person(1,"zhangsan","man",10),
      Person(2,"zhang2","woman",66),
      Person(3,"zhang3","man",70),
      Person(4,"zhang4","man",22))

    val df = list.toDF()
    //TODO 1.将dataFrame/dataSet数据集注册成表
    df.createOrReplaceTempView("person")
    spark.sql(
      """
        |select
        |name,age
        |from person
        |where age >=30
        |""".stripMargin).show()
  }

}

在这里插入图片描述
写个小案例

  • 获取每个单词的个数

数据源

hello java
spark hadoop flume kafka
hbase kafka flume hadoop

Lateral View explode(split(value," "))是列转行

import org.apache.spark.sql.SparkSession
import org.junit.Test

class DataSetCreate {

  val spark = SparkSession
    .builder()
    .appName("test")
    .master("local[4]")
    .getOrCreate()
  import spark.implicits._

  @Test
  def createData():Unit={
    val ds = spark.read.textFile("src/main/resources/wc.txt")
    ds.createOrReplaceTempView("wordCount")

    spark.sql(
      """
        |select
        | wc,
        | count(1)
        |from wordCount Lateral View explode(split(value," ")) as wc
        |group by wc;
        |""".stripMargin).show()
  }
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/144024.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年【汽车驾驶员(中级)】免费试题及汽车驾驶员(中级)考试试卷

题库来源:安全生产模拟考试一点通公众号小程序 2023年【汽车驾驶员(中级)】免费试题及汽车驾驶员(中级)考试试卷,包含汽车驾驶员(中级)免费试题答案和解析及汽车驾驶员(…

人工智能基础_机器学习029_Lasso回归的使用_代码实现_稀疏性提现---人工智能工作笔记0069

然后我们再来看lasso回归,其实也是前面我们说的套索回归,我们说了 套索回归,具有稀松性,就是有一部分w会变成0对吧 我们先看一下套索回归的公式 公式我们可以去官网去看 可以看到这里上面有个写法是L1 = ||w||1这里两个竖,就是矩阵的写法,表示矩阵,然后 后面的部分|wi|绝对…

c++ 经典服务器开源项目Tinywebserver如何运行

第一次直接按作者的指示,运行sh ./build.sh,再运行./server,发现不起作用,localhost:9006也是拒绝访问的状态,后来摸索成功了发现,运行./server之后,应该是启动状态,就是不会退出,而…

【广州华锐互动】消防科普VR实训展馆增强群众学习兴趣和沉浸感

在现代社会,科技的发展已经深入到我们生活的各个角落,其中包括教育和信息传播领域。3D技术的引入为科普教育提供了全新的可能性。特别是在消防安全教育中,消防科普VR实训展馆的应用,不仅可以提高公众的消防安全意识,还…

分享一下微信公众号怎么增加分销的功能

在当今的数字化时代,微信公众号已成为企业和个人开展营销活动的重要平台。然而,仅仅依靠发布文章和推送消息,已经不能满足商家对深度营销的需求。为了进一步拓展商业价值,微信公众号需要增加分销功能。本文将详细介绍如何为微信公…

ARM PMU

PMU单元概览 ARM PMU概要 PMU作为一个扩展功能,是一种非侵入式的调试组件。 对PMU寄存器的访问可以通过CP15协处理器指令和Memory-Mapped地址。 基于PMUv2架构,A7处理器在运行时可以收集关于处理器和内存的各种统计信息。对于处理器来说这些统计信息中…

Moto edge s pro手机 WIFI和蓝牙连接不上 解决方法分享

2021年12月入手一台Moto Edge S Pro 12256版,看着性价比很高,越用越垃圾。屏幕显示没有vivo亮丽/APP图标很丑/屏幕上一点点水就失灵/拍照片边缘是模糊的/系统几乎不更新。 以上都可以忍受,但是: 用一年不到,蓝牙不能…

【数据结构】深入了解栈

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、栈的基本概念二、栈实现方法的分析与选择2.1 引入2.2 顺序表实现2.3 链表实现2.3.1…

全国犯罪人数大数据可视化平台【可视化项目案例-08】

🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…

将铜互连扩展到2nm的研究

晶体管尺寸在3nm时达到临界点,纳米片FET可能会取代finFET来满足性能、功耗、面积和成本目标。同样,正在评估2nm铜互连的重大架构变化,此举将重新配置向晶体管传输电力的方式。 芯片制造商也可能会在2nm节点开始用钌或钼在一定程度上取代铜。…

网上第一批购买大王卡的用户都怎么样了?

近日,小编看到有网友在网上发帖询问,网上第一批购买大王卡的用户都怎么样了?一时间得到纷纷得到回应。 小编也汇总了一些回复,大家可以看一看: 因为大王卡是一张定向流量卡,所以在使用时很多软件都是需要额…

列出目录内最大十个文件并排序

在Linux中,可以使用以下命令列出目录内最大的十个文件并排序: find ./ -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 find ./ -type f -print0: find命令用于在指定目录下查找文件。这里,我们在当前目录下查找所有的文件&…

在AI时代提升个人晋升力的策略

✍️作者简介:沫小北/码农小北(专注于Android、Web、TCP/IP等技术方向) 🐳博客主页:沫小北/码农小北 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN 🔔如果文章对您有一定的帮助请&…

Java map 详解 - 用法、遍历、排序、常用API等

概要: java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。 Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。 本文主要介绍java m…

cesium 自定义顶点属性

// 创建平面const planeGeometry new Cesium.PlaneGeometry({vertexFormat: Cesium.VertexFormat.POSITION_AND_ST, // 位置和UV});const geometry Cesium.PlaneGeometry.createGeometry(planeGeometry);// [3]-----[2]// | |// [0]-----[1]geometry.attributes.color…

Echart 极坐标 方位距离图 图标符号旋转以及大小 颜色渐变

背景: 参与一个交互式图表项目,客户有一个极坐标对比需求,展示不同方位不同距离的不同类型的指标数据。具体到属性字段则是: 来源、距离、方位、ID、旋转角度、大小 先看效果图: 技术点: 图例说明&#…

二、服务拆分及远程调用

目录 一、注意事项: 1.单一职责: 2.数据独立: 3.面向服务: 二、服务拆分例子: 三、远程调用例子: 微服务调用方式: 四、提供者与消费者 服务调用关系: 一、注意事项: 1.单一职责: 不同…

新用户可一次性买3年的优惠云服务器,看到价格泪奔了!

本文将综合介绍腾讯云主推的4款云服务器配置及其价格,并重点强调其特点和优势。其中两款3年的优惠云服务器,非常值得新用户选择! 一、入门级配置:2核4G 5M带宽,一年166元 这款入门级配置适合初学者或者对资源需求不高…

淘宝API接口开发系列,获取商品详情,按关键词搜索商品,拍立淘,商品评论销量商品类目,买家卖家订单接口等演示案例

关键词推荐API接口通过提供相关的关键词推荐,能够帮助用户更快捷地搜索、改善用户体验,同时也对于SEO优化、广告投放、内容创作和个性化推荐等方面有着重要的作用。 item_search-按关键字搜索淘宝商品 公共参数 名称类型必须描述keyString是调用key&am…

一文简单聊聊protobuf

目录 基本介绍 原理 同类对比 为什么要使用protobuf? 基本介绍 protobuf的全称是Protocol Buffer,是Google提供的一种数据序列化协议。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储…