• 2024-09-24Spark(十一)SparkSQL 数据的加载和保存
    通用的加载和保存方式这里的通用指的是使用相同的API,根据不同的参数读取和保存不同格式的数据,SparkSQL默认读取和保存的文件格式为parque1.加载数据spark.read.load是加载数据的通用方法,支持的数据源格式:scala>spark.read.csvjdbcloadoptionsparquet
  • 2024-09-24Spark(十)SparkSQL DataSet
    DataSetDataSet是具有强类型的数据集合,需要提供对应的类型信息1.创建DataSet使用样例类序列创建DataSetscala>caseclassperson(id:Int,name:String,age:Int)definedclasspersonscala>valcaseClassDS=Seq(person(1,"zhangsan",23)).toDS()caseClassDS:org.apa
  • 2024-09-24Spark(九)SparkSQL DataFrame
    DataFrameSparkSQL的DataFrameAPI允许我们使用DataFrame而不用必须去注册临时表或者生成SQL表达式,DataFrameAPI既有transformation操作也有action操作1.创建DataFrame从Spark数据源进行创建启动SparkShell[user@hadoop102spark-yarn]$bin/spark-shell查看Spark
  • 2024-09-10SparkSQL练习:对学生选课成绩进行分析计算
    题目内容:对学生选课成绩进行分析计算题目要求:(1)该系总共有多少学生;(2)该系共开设来多少门课程;(3)每个学生的总成绩多少;(4)每门课程选修的同学人数;(5)每位同学选修的课程门数;(6)该系DataBase课程共有多少人选修;(7)每位同学平均成绩;数据预览:每行数据包括以下三部分内容:学生姓名,所学
  • 2024-08-26SparkSQL日期时间模式详解
    datatime使用场景CSV/JSON数据源使用模式字符串来解析和格式化日期时间内容。日期时间函数用于转换StringType类型到DateType或TimestampType类型,反之亦然。例如,unix_timestamp,date_format,to_unix_timestamp,from_unixtime,to_date,to_timestamp,from_utc_timestam
  • 2024-08-26SparkSQL数值模式详解
    简介函数如to_number和to_char确实支持在字符串类型和十进制(数值)类型之间进行转换。这些函数接受格式字符串作为参数,这些格式字符串指示了如何在这两种类型之间映射。to_number:这个函数通常用于将字符串转换成数值类型。你需要提供一个格式字符串来指定如何解释字符串
  • 2024-07-2305_sparkSQL
    SparkSQL简介为什么需要SparkSQL?Spark的RDD有一定局限性,无法处理结构化数据(比如json格式等等);SparkSQL提供了两种编程的抽象,DataFrame(关心数据结构不关心类型),DataSet(关心面向对象的数据);RDD、DataFrame、DataSetDataFrameDataFrame是一种类似于RDD的分布式
  • 2024-07-18大数据学习之SparkSQL(补充)
    SparkSQL1、SparkSql初识案例:WordCountsparksql处理数据的步骤1、读取数据源2、将读取到的DF注册成一个临时视图3、使用sparkSession的sql函数,编写sql语句操作临时视图,返回的依旧是一个DataFrame4、将结果写出到hdfs上importorg.apache.spark.SparkContextimport
  • 2024-07-01Spark_04 SparkSQL的介绍及使用
    说明这一章主要包括对于sparksql概念的介绍,sparksql的特点,sparksql用到的数据类型,DataFrame的基础方法等。概念SparkSQL是Spark用于处理结构化数据的模块。诞生由于MapReduce这种计算模型的执行效率较慢,rdd原生代码较为复杂,所以引入了SparkSQL应运而生。它可以将sql转换为
  • 2024-05-30SparkSQL编程-DataFrame
    SparkSession在老的版本中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。从2.0开始,SparkSession作为Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContext
  • 2024-05-30SparkSQL概述
    为了给熟悉RDBMS(关系数据库管理系统)但又不理解MapReduce的技术人员提供快速上手的工具,hive应运而生,它是运行在Hadoop上的SQL-on-hadoop工具;但是MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,运行效率低;sparksql则是采用内存存储可以减少大量的中间
  • 2024-03-2405-快速理解SparkSQL的DataSet
    1定义一个数据集是分布式的数据集合。Spark1.6增加新接口Dataset,提供RDD的优点:强类型、能够使用强大lambda函数SparkSQL优化执行引擎的优点可从JVM对象构造Dataset,然后函数式转换(map、flatMap、filter等)操作。DatasetAPI在Scala和Java中可用。Python不支持DatasetAPI,
  • 2024-03-2303-SparkSQL入门
    0SharkSpark的一个组件,用于大规模数据分析的SQL查询引擎。Shark提供了一种基于SQL的交互式查询方式,可以让用户轻松地对大规模数据集进行查询和分析。Shark基于Hive项目,使用Hive的元数据存储和查询语法,并基于Hive进行了性能优化和扩展。0.1设计灵感来自Google的
  • 2024-03-21SparkSQL与RDD的选择?
        对当下的企业级数据应用来说,SparkSQL的应用空间肯定要比单纯的写RDD处理大很多,因为SparkSQL比RDD好写的多,也更贴近业务需求和更友好的能处理数据,而且技术门槛也更低。        但RDD是Spark中所有的数据抽象的基础,最大的特点是对开发者而言暴露的是不带sch
  • 2024-03-05snappy压缩格式下使用数字与字符串不等于比较,hiveSQL和sparkSQL表现不一致的行为记录。
    Hive版本:2.3.4Spark版本:2.4.0当时用Snappy格式对表进行压缩时,时用<>符号将字符串与数字进行比较会产生不一致的结果。SparkSQL结果并非预期结果。DROPTABLEIFEXISTStest.zero_test;CREATETABLEtest.zero_testTBLPROPERTIES("orc.compress"="SNAPPY")ASSELECT
  • 2024-02-05寒假生活指导27
    为什么SparkSQL可以自动优化而RDD不可以? Catalyst优化器  流程     
  • 2024-02-011.31学习进度
    第一章1.sparkshufflemap和reduce在shuffle过程中,提供数据的称之为ma段,几首数据的称之为reduce端在spark的两个阶段中,总是前一个阶段产生一批map提供数据,下一阶段喊声一批reduce接收数据2.spark提供2中shuffle管理器   hashshufflemanager   sortshufflemanager3.hashshuf
  • 2024-01-301/30 学习进度笔记
    无论Hive还是SparkSQL分析处理数据时,往往需要使用函数,SparkSQL模块本身自带很多实现公共功能的函数,在pyspark.sql.functions中。SparkSQL与Hive一样支持定义函数:UDF和UDAF,尤其是UDF函数在实际项目中使用最为广泛。回顾Hive中自定义函数有三种类型:第一种:UDF(User-Defined-Fun
  • 2024-01-29SparkSQL无法创建多个Session解决方法
    一、问题现象SparkSQL创建多个session报错,不能创建一个链接,链接Spark自带的数据库derby2024-01-2519:50:59.053[INFO]24/01/2519:50:59INFO!PLExecution!:ExecuteSQL:DROPTABLEIFEXISTSibor_nfsd_instjmport2024-01-2519:51:01.628(INFO]24/01/2519:51:01IN
  • 2024-01-15SparkSQL 操作Hive In Java
    本文的前提条件:SparkSQLinJava1.增加POM依赖<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependenc
  • 2024-01-15SparkSQL 操作Hive
    Spark中本身内置了Hive,但一般用于测试,生产环境中需要连接外置的Hive1.将Hive的配置文件hive-site.xml拷贝到Spark的配置目录下cp/usr/hive/apache-hive-3.1.3-bin/conf/hive-site.xml/usr/spark/spark-3.5.0-bin-hadoop3/conf2.将MysqlJDBC驱动放置在Spark的jars目录下1.
  • 2024-01-14SparkSQL 自定义聚合函数[强类型] & DSL
    本文的前提条件:SparkSQLinJava参考地址:UserDefinedAggregateFunctions(UDAFs)1.声明列实体类packagecn.coreqi.entity;importjava.io.Serializable;publicclassUserimplementsSerializable{privateStringusername;privateLongage;publi
  • 2024-01-14SparkSQL 自定义聚合函数[强类型]
    本文的前提条件:SparkSQLinJava参考地址:UserDefinedAggregateFunctions(UDAFs)1.自定义实体类packagecn.coreqi.entity;importjava.io.Serializable;publicclassAverageimplementsSerializable{privatelongtotal;privatelongcount;publi
  • 2024-01-14SparkSQL 自定义聚合函数[弱类型]
    本文的前提条件:SparkSQLinJava代码如下1.自定义聚合函数packagecn.coreqi.udaf;importorg.apache.spark.sql.Row;importorg.apache.spark.sql.expressions.MutableAggregationBuffer;importorg.apache.spark.sql.expressions.UserDefinedAggregateFunction;import
  • 2024-01-14SparkSQL 自定义函数
    本文的前提条件:SparkSQLinJava参考地址:ScalarUserDefinedFunctions(UDFs)完整代码packagecn.coreqi;importstaticorg.apache.spark.sql.functions.udf;importorg.apache.spark.SparkConf;importorg.apache.spark.sql.*;importorg.apache.spark.sql.expres