spark
小涛手记
这个作者很懒,什么都没留下…
展开
-
spark任务优化
优化思路就是增加并行写的能力,修改代码中充分区数为400,repartition(400),设置executer数20个,task数为400,12分钟跑完了。查看yarn运行计划,是写数据到redis这个阶段特别慢,一共是10个executer,总共是20个task。1.线上spark程序写数据到redis 每天离线执行一次跑完一次要3个小时。原创 2023-06-09 17:17:51 · 107 阅读 · 0 评论 -
spark on maxcomputer读取dataworks表数据写入redis
1.idea中新建maven项目,在pom文件中添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht原创 2023-06-01 11:57:34 · 322 阅读 · 0 评论 -
spark读取es数据写入hive
spark读取es数据写入hive原创 2022-07-08 11:30:32 · 805 阅读 · 0 评论 -
spark将hive表数据写入kafka
spark将hive表数据写入kafka原创 2022-07-07 23:51:01 · 1418 阅读 · 0 评论 -
spark模式匹配使用
package com.kaishu.warehouse.ks.adsimport com.kaishu.tools.{DateUtils, SparkManager}import org.apache.spark.SparkConfimport org.apache.spark.sql.{SaveMode, SparkSession}/** * 创建人: xiaotao * 创建日期: Created on 2022-05-26 * 数据开发功能描述: 新用户收入日报表2 * 目标原创 2022-05-27 00:05:31 · 380 阅读 · 0 评论 -
sparksql将hive数据写入tidb【2】
1500万数据13分钟写完,比第一版效率提升n呗package com.xxx.warehouse.serviceimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.execution.datasources.jdbc.JDBCOptionsobject Test_tidb2 { def main(args: Array[String]) { val spark = SparkSession.bu原创 2022-03-15 23:54:59 · 1625 阅读 · 3 评论 -
spark程序将hive表亿条数据写入tidb
import java.sql.{Connection, DriverManager, PreparedStatement, SQLException}import com.alibaba.fastjson.JSONimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.types.{IntegerType, LongType, StringType, StructField, StructType}import org.apache.s原创 2022-03-10 00:01:35 · 2780 阅读 · 4 评论 -
spark读取hive数据写入redis
import java.utilimport org.apache.commons.pool2.impl.GenericObjectPoolConfigimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}import redis.clients.jedis.{Jedis, JedisPool}import redis.clients.util.Poolimport scala.原创 2022-02-24 17:37:23 · 3586 阅读 · 1 评论 -
sparksql特殊符号转义
1. 符号 .sqlsplit(app_version, '\\.')[1]sparksqlsplit(app_version, '\\\\.')[1]原创 2022-01-30 13:45:16 · 2610 阅读 · 0 评论 -
spark core 指标练习每个部门订单数最大的三个员工,每个作品对应性别的次数
每个部门订单数最大的三个员工import org.apache.log4j.{Level, Logger}import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}/** * @date :2021/7/9 11:15 * @author :xiaotao * @description :topN * 部门id, 员工id, 订单数 *原创 2021-07-09 12:42:35 · 186 阅读 · 0 评论 -
Spark性能调优01-资源调优
本文来自多易教育公众号Spark性能调优01-资源调优1. 概述在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪种情况,都会导致Spark作业的运行效率低下,甚至根本无法运行。因此我们必须对Spark作业的资源使用原理有一个清晰的认识,并知道在Spark作业运行转载 2021-04-08 11:29:13 · 356 阅读 · 0 评论 -
spark DataFrame数据集 sql风格 和 dsl Api风格需求练习
需求:求每个城市中成绩最高的两个人的信息数据:csv格式id,name,age,sex,city,score1,张飞,21,M,北京,802,关羽,23,M,北京,827,周瑜,24,M,北京,853,赵云,20,F,上海,884,刘备,26,M,上海,838,孙权,26,M,上海,785,曹操,30,F,深圳,90.86,孔明,35,F,深圳,77.89,吕布,28,M,深圳,98代码:package createdfimport org.apache.log4j.{Le原创 2021-04-02 19:25:48 · 1687 阅读 · 5 评论 -
scala读取mysql数据
代码:import java.sql.DriverManager/** * @date :2021/3/31 22:28 * @author :xiaotao * @description :访问mysql中表数据 */object DataFromMysql { def main(args: Array[String]): Unit = { val conn = DriverManager.getConnection( "jdbc:mysql://local原创 2021-03-31 22:44:45 · 358 阅读 · 0 评论 -
saprk RDD编程实战案例给定JSON格式的订单数据和分类数据,求出每个商品分类的成交金额,写入到mysql中
需求给定JSON格式的订单数据,求出每个商品分类的成交金额订单数据{"oid":"o123", "cid": 1, "money": 600.0, "longitude":116.397128,"latitude":39.916527}"oid":"o112", "cid": 3, "money": 200.0, "longitude":118.396128,"latitude":35.916527}{"oid":"o124", "cid": 2, "money": 200.0, "longitu原创 2021-03-31 22:13:36 · 276 阅读 · 0 评论 -
spark缓存cache和checkpoint理解代码演示
cachecache缓存适用于多次重复使用的RDD,并且数据量不是特别大.可以将这个RDD的分区数据缓存到内存中,下次调用这个RDD进行操作,就不用从头去读取数据,直接从内存中读取然后计算.rdd.cache()后需要遇到action才会将RDD分区数据缓存到内存中.在此次action操作后再调用被缓存的RDD进行其它操作.然后遇到第二个action会从内存中读取被缓存的RDD数据然后进行其它操作运算.cache图解:checkpoint使用于逻辑链条长的RDD,并且数据量特大,然后可以使用c原创 2021-03-31 16:53:17 · 296 阅读 · 1 评论 -
yarn的资源调度流程和spark的执行流程
spark on yarn 资源调度流程cluster模式为例:客户端向ResourceManager发送请求,ResourceManager返回applicationID和要上传的hdfs目录客户端将jar包和配置文件上传到hdfs指定目录客户端向ResourceManager申请资源来启动ApplicationMasterRM找一台资源充足的NM,进行通信,NM通过rpc的方式从hdfs上下载jar包和配置文件,然后启动ApplicationMasterApplicationMaster向R原创 2021-03-30 23:56:26 · 432 阅读 · 0 评论 -
spark中 reduceByKey() 和 groupByKey() 和combineByKey()
1.groupByKey:它是将RDD中相同的key值得数据(value)合并成为一序列,只能输出相同key值得序列。2.reduceByKey:因为内部调用的combineByKey函数,会先进行局部聚合, 再进行全局聚合,(类似于mapreduce里的combine操作)这样会大大减少网络IO, 起到优化作用。相同点:都作用于 RDD[K,V]都是根据key来分组聚合默认,分区的数量都是不变的,但是都可以通过参数来指定分区数量不同点:groupByKey默认没有聚合函数,得到的返原创 2021-03-30 16:42:48 · 440 阅读 · 2 评论 -
spark 中 flatMap() 和 map() 的区别
spark 中 flatMap() 和 map() 的区别原创 2021-03-30 14:26:54 · 115 阅读 · 0 评论