软件开发外包网站,欧美vpswindows另类,营销软件网站建设,厦门小微企业网站建设补贴1.Spark的特点 Spark的设计遵循“一个软件栈满足不同应用场景”的理念#xff0c;逐渐形成了一套完整的生态系统#xff0c;既能够提供内存计算框架#xff0c;也可以支持SQL即席查询、实时流式计算、机器学习和图计算等。 运行速度快#xff0c;易使用#xff0c;强大的技…1.Spark的特点 Spark的设计遵循“一个软件栈满足不同应用场景”的理念逐渐形成了一套完整的生态系统既能够提供内存计算框架也可以支持SQL即席查询、实时流式计算、机器学习和图计算等。 运行速度快易使用强大的技术栈集成性好 2.Spark与Hive Hive的缺点 表达能力有限磁盘IO开销大延迟高 3.Spark-streaming与Flink 微批处理准实时系统 4.Spark的运行架构 Driver向集群管理器申请资源启动Executor并向Executor发送程序代码和文件在Executor上执行任务执行结果返回任务控制节点或写到HDFS和其他数据库 5.hive on spark和spark on hive 前者只有计算引擎是Spark前期解析转换优化等步骤都是Hive完成。 后者只有元数据用了Hive对SQL的解析转换优化等都是Spark完成。 6.宽窄依赖之间的区别 窄依赖表现为一个父RDD的分区对应于一个子RDD的分区或多个父RDD的分区对应于一个子RDD的分区 宽依赖则表现为存在一个父RDD的一个分区对应一个子RDD的多个分区 7.RDD运行过程 1创建RDD对象 2SparkContext负责计算RDD之间的依赖关系构建DAG 3DAGScheduler负责把DAG图分解成多个阶段每个阶段中包含了多个任务每个任务会被任务调度器分发给各个工作节点Worker Node上的Executor去执行。 8.Spark三种部署方式 包括standalone、Spark on Mesos和Spark on YARN 9.广播变量和累加器 Spark中的两个重要抽象是RDD和共享变量 广播变量允许开发人员在每个机器上缓存一个只读的变量而不是为每个机器的每个任务都生成一个副本 val broadcastVar sc.broadcast(Array(1, 2, 3)) broadcastVar.value 10.转换算子和行动算子 转换mapfiltergroupByKey,reduceByKey 行动collect,foreach,count,reduce 键值对groupByKey,reduceByKey,sortByKeykeys,values,mapValues,join 11.自定义udf和udaf udf 直接spark.udf.register(“”,函数 udaf 需继承UserDefinedAggregateFunction 实现父类的8个方法 12.RDD与DataFrame的区别 RDD是分布式的 Java对象的集合 DataFrame是一种以RDD为基础的分布式数据集也就是分布式的Row对象的集合每个Row对象代表一行记录