08 2020 档案
摘要:Redis 一、大型网站的系统特点 1.高并发、大流量 大型网站系统需要面对高并发用户,大流量访问。Google日均PV数35亿,日均IP访问数3亿;腾讯QQ的最大在线用户数1.4亿(2011年数据);微信用户量已超11亿;2019年天猫双十一交易额突破2500亿。 2.高可用 系统7×24小时不间
阅读全文
摘要:1.创建一个test.sh文件 vim test.sh 在文件中添加如下内容 #!/bin/bash do_date=$1 echo "$do_date" echo '$do_date' echo "'$do_date'" echo '"$do_date"' echo `date` 2.执行test
阅读全文
摘要:Hive on Spark 官网详情:https://cwiki.apache.org//confluence/display/Hive/Hive+on+Spark:+Getting+Started 一.安装Hive 具体安装参考:Hive(一)【基本概念、安装】 安装和Spark对应版本一起编译的
阅读全文
摘要:一. 读取和保存说明 SparkSQL提供了通用的保存数据和数据加载的方式,还提供了专用的方式 读取:通用和专用 保存 保存有四种模式: 默认: error : 输出目录存在就报错 append: 向输出目录追加 overwrite : 覆盖写 ignore: 忽略,不写 二. 数据格式 1. Pa
阅读全文
摘要:一.UDF(一进一出) 步骤 ① 注册UDF函数,可以使用匿名函数。 ② 在sql查询的时候使用自定义的UDF。 示例 import org.apache.spark.sql.{DataFrame, SparkSession} /** * @description: UDF一进一出 * @autho
阅读全文
摘要:一.环境准备 1.pom文件 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </dep
阅读全文
摘要:一. SparkStreaming简介 1. 相关术语 流式数据: 指数据源源不断。 实时数据: 当前正在产生的数据。 离线数据: 过去(不是当下产生的)已经产生的数据。 实时计算: 理想上,实时计算一定是对实时数据的计算,理想期望立刻当前计算出结果(要在公司规定的时效范围内)。 离线计算: 计算通
阅读全文
摘要:1.内嵌的HIVE 如果使用 Spark 内嵌的 Hive, 则什么都不用做, 直接使用即可. Hive 的元数据存储在 derby 中, 默认仓库地址:$SPARK_HOME/spark-warehouse 实际使用中, 几乎没有不会使用内置的 Hive 2.集成外部的Hive spark-she
阅读全文
摘要:一. SparkSQL简介 Spark SQL是Spark用于结构化数据(structured data)处理的Spark模块。 Dremel > Drill(Apache) >Impala(Cloudrea) Presto(Hotonworks) Hive > Shark(对Hive的模仿,区别在
阅读全文
摘要:import java.util import scala.collection.mutable /** * 集合互相转换 */ object ScalaToJava { def main(args: Array[String]): Unit = { //新版的Scala用这个:import sca
阅读全文
摘要:一.文件类型 1.Text文件 读写 读取 scala> val hdfsFile = sc.textFile("hdfs://hadoop102:9000/fruit.txt") hdfsFile: org.apache.spark.rdd.RDD[String] = hdfs://hadoop1
阅读全文
摘要:spark的分区 Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle过程属于哪个分区和Reduce的个数。 注意 (1)只有Key-Value类型的RDD才有分区器
阅读全文
摘要:在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,Spark还是为
阅读全文
摘要:RDD的持久化 1. RDD Cache缓存 RDD通过Cache或者Persist方法将前面的计算结果缓存,默认情况下会把数据以缓存在JVM的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的action算子时,该RDD将会被缓存在计算节点的内存中,并供后面重用。 使用 1.rdd
阅读全文
摘要:RDD依赖关系 1. RDD血缘关系 RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数
阅读全文
摘要:测试准备 pom文件 <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </depende
阅读全文
摘要:在RDD中默认的算子sortBy,sortByKey只能真的值类型数据升序或者降序 现需要对自定义对象进行自定义排序。 一组Person对象 /** * Person 样例类 * @param name * @param age */ case class Person1(name: String,
阅读全文
摘要:**sparkcontext.textFile()**返回的是HadoopRDD! 关于HadoopRDD的官方介绍,使用的是旧版的hadoop api ctrl+F12搜索 HadoopRDD的getPartitions方法,这里进行了分区计算 读取的是txt文件,用的是TextInputForm
阅读全文