Spark学习笔记
注意:
问题:Failed:execution error: return code 1 from org.apache.hadoop.hive.ql.exec.DDL Task MetaException(message:For direct metaStore DB connections,we dont't support retries)
解决方法:数据库字符集的问题。ALTER DATABASE hive CHARACTER SET latin1;
一、Scala基础
1. foreach: 无返回值
map: 有返回值
2.在Scala中重写非抽象方法必须用override修饰
二、Akka架构
1 ActorSystem是这个进程中的Actor的老大,负责创建和监控所有的actor
2 ActorSystem是单例的
3 actor负责通信
4.每个actor内部都是顺序执行的
三、Spark
1.Spark角色
Master -->管理所有的Worker,进而进行资源的调度
Worker -->管理当前计算节点,Worker会启动一个Executor来完成真正的任务
Executor -->
2.Spark算子分两类
Transformation 转换(延迟执行),只会记录元数据信息和操作
Actions 动作
3.创建RDD有两种方式
a.通过HDFS支持的文件系统创建RDD,RDD里面没有真正要计算的数据,只记录了元数据
b.通过Scala集合或数组以并行化的方式创建RDD
4.RDD的特点
1)A list of partitions
2)A function for computing each split
3)A list of dependencies on each RDDS
4)Optionally, a Partitioner for key-value RDDS (e.g. to say that the RDD is hash-partitioned)
5)Optionally, a list of preferred locations to compute each split on