Spark

简介

  1. 高效性 基于内存 Spark 比 MapReduce 快100倍
  2. 易用性 函数式编程 代码体积小
  3. 通用性 用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX
  4. 兼容性 Spark可以读取多种数据源,如HDFS、HBase、MySQL

基本概念

RDD:是弹性分布式数据集(Resilient Distributed Dataset),第一种是读取文件中的数据生成RDD,第二种则是通过将内存中的对象并行化得到RDD。
DAG:在 Spark 中, 使用 DAG 来描述我们的计算逻辑
Job:作业
Stage:阶段,是作业的基本调度单位
Task:任务,运行在Executor上的工作单元,是Executor中的一个线程

Application:用户编写的Spark应用程序,一个Application包含多个Job
Worker Node:工作节点,负责完成具体计算
Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行Task,并为应用程序存储数据。

Spark Sql

1.sql
2.DataFrame/DataSet

  • 使用方式
    • 编码
      • python/java等
    • sql脚本
    • thriftserver
  • UDF 用户自定义函数
  • Source数据源 json, parquet, jdbc, orc, libsvm, csv, text,自定义

你可能感兴趣的:(bigdata,spark,大数据,hadoop)