spark开发分两个方面?哪两个方面呢?
比如 一个读取hdfs上的文件,然后count有多少行的操作,你可以说说过程吗。
那这个count是在内存中,还是磁盘中计算的呢?磁盘中。
spark比Mapreduce快? 为什么快呢? 快在哪里呢?
- 内存迭代。
- RDD设计。
- 算子的设计。
spark sql又为什么比hive快呢?
执行机制不一样
spark sql最终被翻译成DAG作业执行
hive 是翻译成map-reduce 任务
RDD的数据结构是怎么样的?
Partition数组。 dependence
hadoop的生态呢
Spark工作的一个流程。
用户提交一个任务。 入口是从sc开始的。 sc会去创建一个taskScheduler。根据不同的提交模式, 会根据相应的taskchedulerImpl进行任务调度。
同时会去创建Scheduler和DAGScheduler。DAGScheduler 会根据RDD的宽依赖或者窄依赖,进行阶段的划分。划分好后放入taskset中,交给taskscheduler 。
appclient会到master上注册。首先会去判断数据本地化,尽量选最好的本地化模式去执行。
打散 Executor选择相应的Executor去执行。ExecutorRunner会去创建CoarseGrainerExecutorBackend进程。 通过线程池的方式去执行任务。
反向:
Executor向 SchedulerBackend反向注册
Spark On Yarn模式下。 driver负责计算调度。appmaster 负责资源的申请。
RDD算子里操作一个外部map比如往里面put数据。然后算子外再遍历map。有什么问题吗。
shuffle的过程。调优。
5个partition里面分布有12345678910.用算子求最大值或者和。不能用广播变量和累加器。或者sortbykey.
知道spark怎么读hbase吗?spark on hbase.。华为的
sort shuffle的优点?
stage怎么划分的? 宽依赖窄依赖是什么?
怎么用spark做数据清洗
具体:
去除脏脏数据(过滤)
元组内容重组(分散,组合 )
元组内容过滤列(map)
其他数据类型解析(比如json解析)
spark读取 数据,是几个Partition呢?hdfs几个block 就有几个 Partition?
.spark on yarn的两种模式?
client (driver+appmaster)(多用于测试)
cluster (appmaster client)(多用于生产)
spark 数据倾斜
充分利用资源
提高并发度
reduce端join转换成map端join(大表与小表 广播变量)
因为是链式操作,比较方便进行 先打散(对给key加个随机前缀)进行局部聚合,后整体聚合(去掉随机前缀)
jdbc?mysql的驱动包名字叫什么?
mysql-connector-java-5.1.44.jar
画图,画Spark的工作模式,部署分布架构图
画图,画图讲解spark工作流程。以及在集群上和各个角色的对应关系。
画图,讲讲shuffle的过程。那你怎么在编程的时候注意避免这些性能问题
dataset和dataframe?
通过什么方式学习spark的?
有哪些数据倾斜,怎么解决?
宽依赖窄依赖?
yarn的原理?
BlockManager怎么管理硬盘和内存的
哪些算子操作涉及到shuffle(宽依赖)
groupByKey
reduceByKey
看过源码? 你熟悉哪几个部分的源码?
spark怎么整合hive?
大概这样。 spark on hive 。 hive还是hive 执行引擎是spark
Spark如何处理结构化数据,Spark如何处理非结构化数据?
Spark性能优化主要有哪些手段?
简要描述Spark分布式集群搭建的步骤
对于Spark你觉得他对于现有大数据的现状的优势和劣势在哪里?
对于算法是否进行过自主的研究设计?
简要描述你了解的一些数据挖掘算法与内容 基本我有印象的就这几个问题,聊了2个多小时,脑子都差点被问干了
spark 二次排序 自定义排序
实现orderedBY对象
sparkSQL的交互性
sparkSession
(RDD+schema) dataDrame