Spark Programming Guide (Python) Spark编程指南 (一)
来源:互联网 发布:vfp九九乘法表编程 编辑:程序博客网 时间:2024/06/05 17:00
PySpark编程前的细节:
1. 首先对PySpark输出内容进行简化:
Spark(和PySpark)的执行可以特别详细,很多INFO日志消息都会打印到屏幕。
为了减少Spark输出,可以设置/usr/local/spark下的log4j。首先,拷贝一份/usr/local/spar/conf/log4j.properties.template文件,去掉“.template”扩展名。
cp ./conf/log4j.properties.template./conf/log4j.properties
编辑新文件,用WARN替换代码中出现的INFO。
gedit ./conf/log4j.properties
# Set everything to be logged to the console
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/ddHH:mm:ss} %p %c{1}: %m%n
# Settings to quiet third party logs that are tooverbose
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=WARN
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=WARN
2. 主要对Python接口进行介绍:
a) 为什么选择Spark?
Spark拥有多种语言的函数式编程API,提供了除map和reduce之外更多的运算符,这些操作是通过一个称作弹性分布式数据集(resilient distributeddatasets, RDDs)的分布式数据框架进行的。
由于RDD可以被缓存在内存中,Spark对迭代应用特别有效,因为这些应用中,数据是在整个算法运算过程中都可以被重用。大多数机器学习和最优化算法都是迭代的,使得Spark对数据科学来说是个非常有效的工具。另外,由于Spark非常快,可以通过类似Python REPL(在控制台交互式执行python代码)的命令行提示符交互式访问。
b) 核心组件介绍
i. SparkCore:包含Spark的基本功能;尤其是对RDD进行Transformations和Actions以及这两者上的动作。其他Spark的库都是构建在RDD和Spark Core之上的。
ii. Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作。
http://spark.apache.org/docs/latest/api/python/pyspark.sql.html
iii. SparkStreaming:允许对实时数据流进行处理和控制。很多实时数据库(如Apache Store)可以处理实时数据。Spark Streaming允许程序能够像普通RDD一样处理实时数据。
http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html
iv. MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。之前可选的大数据机器学习库Mahout,将会转到Spark,并在未来实现。
http://spark.apache.org/docs/latest/api/python/pyspark.mllib.html
v. GraphX:控制图、并行图操作和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、创建子图、访问路径上所有顶点的操作。
1. Java API介绍:
http://spark.apache.org/docs/latest/api/java/index.html
2. Scala API介绍
http://spark.apache.org/docs/latest/api/scala/index.html
3. R API介绍
http://spark.apache.org/docs/latest/api/R/index.html
4. PythonAPI介绍
http://spark.apache.org/docs/latest/api/python/index.html
5. PythonSpark Quick Start(对看ProgrammingGuide有帮助)
http://spark.apache.org/docs/latest/quick-start.html
- Spark Programming Guide (Python) Spark编程指南 (一)
- Spark Programming Guide (Python) Spark编程指南 (二)
- Spark Programming Guide (Python) Spark编程指南 (三)
- Apache Spark - Programming Guide(Spark编程指南)
- Spark GraphX Programming Guide 编程指南
- Spark2.1.0文档:Spark编程指南-Spark Programming Guide
- Spark开发指南Spark Programming Guide
- spark官方文档之——Spark programming guide spark编程指南
- spark streaming programming guide 综述(一)
- Spark编程指南(一)
- Spark 编程指南(一)
- Spark Programming Guide
- Spark programming guide
- Spark Programming Guide 中文版
- Spark Programming Guide
- Spark Programming Guide 翻译
- Spark Programming Guide
- spark programming guide
- 华中农业大学第四届程序设计大赛网络同步赛Problem I: Catching Dogs
- MarkDown的初次学习使用。
- ListView的优化
- 两个指针判别字符串是否是回文字符串
- 新增crawlingtosea.methods.BitmapCombine包
- Spark Programming Guide (Python) Spark编程指南 (一)
- IOS开发调试
- JavaSE_遍历List的3种方法
- MySQL存储引擎InnoDB与MyISAM
- solr5.5的搭建,以及第一个core的配置
- 华中农业大学第四届程序设计大赛F题LCS
- 微软面试100题-72
- Android开发笔记之自定义View 悬浮球的实现
- 利用上面的两个包做的一个不成功的案例