草庐IT

Spark-DataFrame

全部标签

Spark SQL 每年的1月1日算当年的第一个自然周, 给出日期,计算是本年的第几周

一、问题按每年的1月1日算当年的第一个自然周(遇到跨年也不管,如果1月1日是周三,那么到1月5号(周日)算是本年的第一个自然周,如果按周一是一周的第一天)计算是本年的第几周,那么sparksql如何写?二、分析难点:SparkSQL的DAYOFWEEK函数返回的每周第一天是周日。边界值的处理,即第一周如何判定、第二周从哪天开始计算。对应的伪代码intday_of_week(intday){if(day==7){return1;}else{returnday+1;}}dayofyear=DAYOFYEAR(your_date_column)if(dayofyear7-day_of_week(fi

Hive引擎MR、Tez、Spark

Hive引擎包括:默认MR、Tez、Spark不更换引擎hive默认的就是MR。MapReduce:是一种编程模型,用于大规模数据集(大于1TB)的并行运算。HiveonSpark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。SparkonHive就是通过sparksql,加载hive的配置文件,获取到hive的元数据信息,sparksql获取到hive的元数据信息之后就可以拿到hive的所有表的数据,接下来就可以通过sparksql来操作hive表中的数据HiveonSpark效率要低于SparkonHive前者只

spark的安装与部署

目录前言一、spark是什么?二、知识回顾1.启动zookeeper。2.启动hdfs和yarn。3.通过jps查看是否启动成功。4.进入MySQL。5.进入hive之后验证 6.启动hbase.7.查看进程8.进入hbase并测试是否正常三、spark的安装与部署1.安装Scala2.安装与部署spark总结前言为了避免MapReduce框架中多次读写磁盘带来的消耗,以及更充分地利用内存,加州大学伯克利分校的AMPLab提出了一种新的、开源的、类HadoopMapReduce的内存编程模型Spark。一、spark是什么?Spark是一个基于内存的大数据并行处理框架,其最初由加州大学伯克利分

电影评分数据分析案例-Spark SQL

#cording:utf8frompyspark.sqlimportSparkSessionfrompyspark.sql.typesimportIntegerType,StringType,StructTypeimportpyspark.sql.functionsasFif__name__=='__main__':#0.构建执行环境入口对象SparkSessionspark=SparkSession.builder.\appName('movie_demo').\master('local[*]').\getOrCreate()sc=spark.sparkContext#1.读取文件sche

一文看懂Spark中Cache和CheckPoint的区别

目录循循渐进理解使用Cache或者PersistCheckPoint缓存和CheckPoint的区别循循渐进理解wc.txt数据hellojavasparkhadoopflumekafkahbasekafkaflumehadoop看下面代码会打印多少条-------------------------(RDD2)importorg.apache.spark.rdd.RDDimportorg.apache.spark.{SparkConf,SparkContext}objectCache{defmain(args:Array[String]):Unit={valsc=newSparkContex

spark3.3.x处理excel数据

环境:spark3.3.xscala2.12.x引用:spark-shell--jarsspark-excel_2.12-3.3.1_0.18.5.jar或项目里配置pom.xml!--https://mvnrepository.com/artifact/com.crealytics/spark-excel-->dependency>groupId>com.crealytics/groupId>artifactId>spark-excel_2.12/artifactId>version>3.3.1_0.18.5/version>/dependency>代码:1、直接使用excel文件第一行作为

Spark任务优化分析

一、背景首先需要掌握SparkDAG、stage、task的相关概念Spark的job、stage和task的机制论述-知乎task数量和rdd分区数相关runningtask数=executors*cores(如果runningtask没有达到乘积最大,一般是队列资源不足)二、任务慢的原因分析找到运行时间比较长的stage再进去看里面的task可以看到某个task读取的数据量明显比其他task较大。如果是sql任务进入到SQL页面看到对应的执行卡在哪里,然后分析,如下图是hashid、actor_name,可以看到是groupby数据有倾斜。groupby数据倾斜问题,可以参考hivegro

Spark---数据输出

1.输出为Python对象 collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象reduce算子:对RDD数据集按照传入的逻辑进行聚合take算子:取RDD的前N个元素,组合成list返回给你count算子:计算RDD有多少条数据,返回值是一个数字#collect算子:将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象#语法:rdd.collect()#返回一个listfrompysparkimportSparkConf,SparkContextimportosos.environ['PYSPARK_PYTHON']="D:/Pro

【已解决,可放心食用】spark-slave1: ssh: Could not resolve hostname spark-slave1: Name or service not know

开启hadoop集群的时候遇到了这个问题我的问题比较好解决,一眼就能看出来,是因为slave和配置文件中的不对应。然后我就去查了查还有没有其他形式的,比如不是因为配置文件里面写错名字这种低级错误还是有这种情况的,大概有以下几种情况和解决方案一定要配置免密登陆在这之前要修改/etc/hosts文件中的映射vim/etc/hosts#配置主机名字对应的ip和主机名字  免密登陆的配置步骤ssh-keygen-tdsa-P''-f~/.ssh/id_dsa #可以只在master上执行,如果其他节点也想实现免密登陆,按照这个步骤操作就可以ssh-copy-id-i/root/.ssh/id_dsa.

Spark Streaming 整合 Kafka

本专栏案例代码和数据集链接:https://download.csdn.net/download/shangjg03/884778271.版本说明Spark 针对 Kafka 的不同版本,提供了两套整合方案:`spark-streaming-kafka-0-8` 和 `spark-streaming-kafka-0-10`,其主要区别如下:本文使用的 Kafka 版本为 `kafka_2.12-2.2.0`,故采用第二种方式进行整合。2.项目依赖项目采用 Maven 进行构建,主要依赖如下:    2.12                org.apache.spark        spar