学习记录

好记性不如烂笔头

spark相关

SparkSQL执行时参数优化 spark.sql.shuffle.partitions 和 spark.default.parallelism 的区别 在实际测试中: spark.default.parallelism 只有在处理RDD时才会起作用,对spark SQL无效。 spark.sql.shuffle.partitions则是对spark SQL专有的设置 因此,在...

flink

Apache 开源的流处理引擎

flink 代码 流程包括: -1. 设置运行环境 // java // 使用本地资源 import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnv...

数据库连接池

负责分配、管理和释放数据库连接

什么是数据库连接池 数据库连接池负责分配、管理和释放数据库连接,允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起数据库连接遗漏。 为什么使用数据库连接池 资源复用 数据库连接复用,避免了频繁的创建、释放连接带来的性能开销,减少内存碎片。 更快的系统响应速度 数据库连接池初始化时,已经创建多个数...

sparkstreaming 之foreachRDD

sparkStreaming 之 foreachRDD DStream 中的 foreachRDD 是一个非常强大的函数,它允许你将数据发给外部系统。 dstream.foreachRDD{rdd => val connection = createNewConnection() // executed at the driver rdd.foreach{ connec...

spark 持久化

通过持久化存储,提升spark应用性能,以更好地满足实际需求。

持久化存储是spark非常重要的一个特性,所谓的spark持久化存储,就是将一个RDD持久化至内存或磁盘中,以便重用该RDD,省去重新计算的环节,以空间换时间。RDD持久化,是一个分布式的过程,其内部的每个partition各自缓存到所在的计算节点上,根据复用的需求再来读取。 spark:RDD持久化的目的 在spark中有时候很多地方都会用到同一个RDD,按照常规的做法的话,每个地方遇到a...

redis

一个高性能的key-value非关系型数据库

redis REmote DIctionary Server(Redis)是一个key-value存储系统,是跨平台的非关系型数据库,遵循BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(key-value)存储数据数据库,并提供多种语言的API。 redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(hash)、列表(list)、集合(s...

scala 异常(Exception)/throws关键字

java 中异常处理方式 try{ }case(异常类型1){ // 异常处理 }case(异常类型2){ // 异常处理 }finally{ } 捕获异常: try{..}catch(..){..}finally{…} 抛出异常: -1. 在方法体中通过 throw 关键字抛出 -2. 在方法名后面通过 throws 关键字声明异常 scala 异常(Exception)处理方式 ...

spark - select where or filtering? withColumn

用于过滤/用于添加新字段、字段重命名、修改字段类型

select where or filtering? answer 1: As Yaron mentioned, there isnot any difference between where and filter. filter is an overload method that takes a column or string argument. The performance is...

spark 中的 dataframe 和 dataset

sparkSQL 中的两种数据类型

Spark SQL概述 是一种用于结构化数据处理的spark组件。所谓结构化数据,是指具有schema信息的数据。 Spark SQL主要特点 -1. 将SQL查询与spark应用程序无缝组合 -2. Spark SQL以相同方式连接多种数据源 -3. 在现有数据仓库上运行SQL或HiveQL查询 DataFrame 是 Spark SQL 提供的一个编程抽象,也是一个分布式的数据集合。da...

docker-compose

一个用来定义和运行复杂应用的docker工具。

compose介绍 一个使用docker容器的应用,通常由多个容器组成。使用docker compose不再需要使用shell脚本来启动容器。compose通过一个配置文件来管理多个docker容器,通过services来定义所有容器,使用docker-compose脚本来启动、停止和重启应用,非常适合组合使用多个容器进行开发的场景。 安装docker Docker从1.13.x版本开始,版...