Spark
文章平均质量分 77
yiran12
这个作者很懒,什么都没留下…
展开
-
Learning Spark [4] - Spark SQL
Spark SQL为Spark提供了以下几个特性: 提供高级结构框架的API(见Learning Spark [3]) 允许读取不同格式的数据(json, hive, tables, csv, parquet, avro,orc) 允许使用BI工具(Power BI, Tableau)的JDBC/ODBC链接器查询数据,以及使用RDBMSs(MySQL, PostgreSQL) 提供与储存在Spark Application的数据交互的语法接口 提供一个交互式Shell去执行SQL查询 支持HiveQL原创 2021-02-02 17:09:10 · 205 阅读 · 0 评论 -
Learning Spark [3] - Catalyst Optimizer
Catalyst Optimizers是Spark SQL的一个重要功能,他会将数据查询转换为执行计划。他分为四个步骤: 分析 逻辑优化 物理规划 生成代码 例子: M&Ms例子 两段不同语言代码的执行代码是相同的。所以无论是你使用了什么语言,你的查询和计算会经过相同处理。 # In Python count_mnm_df = (mnm_df .select("State", "Color", "Count") .groupBy("State", "Color")原创 2021-02-02 17:08:11 · 151 阅读 · 0 评论 -
Learning Spark [2] - Spark API结构
RDD RDD是spark最基础的抽象类 其拥有以下几个特点: Dependencies(依赖) Partitions(分区) Compute Function(计算函数):Partition => Iterator[T] Dependencies提供了RDD的结构性,例如需要重新输出结果,Spark就可以使用Denpendecies重新创建RDD,来复制一个运行。这个特性使得RDD更加灵活。 Partitions是的Spark可以将一个任务拆分开,使用不同的Executors平行运行。另外有些时原创 2021-02-01 10:27:25 · 119 阅读 · 0 评论 -
Learning Spark [1] - Spark的基础概念
#术语: Application(应用程序):用户使用API所构建的Spark程序,包含了Driver(驱动)和Executor(执行单元)。 SparkSession(Spark时域):一个提供了使用Spark程序入口的实例。 Job(作业):由多个Task(进程)组成平行计算,会为Spark操作生成一个结果(e.g. save(), collect())。 Stage(阶层):每个Job都会分割为小份Task的集合,即为Stages。 Task(进程):会直接送到Spark Executor的一个单位原创 2021-01-29 11:24:54 · 241 阅读 · 0 评论