Spark入门笔记

来源:互联网 发布:3d打印骨骼 知乎 编辑:程序博客网 时间:2024/06/15 20:02
1 什么是Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
比如官网给点例子,读取文档后,统计包含a字母的行数等。

2 环境怎么配置
下载,后解压即可。

3 怎么使用。
可以使用命令行
[./bin/pyspark]
载入文件

统计行数:
>>> textFile.count()# Number of items in this RDD126
>>> textFile.first()# First item in this RDD
>>> textFile= sc.textFile("README.md")
4 在java下怎么使用。
maven 配置:
<dependency> <!-- Spark dependency -->      <groupId>org.apache.spark</groupId>      <artifactId>spark-core_2.11</artifactId>      <version>2.1.1</version>    </dependency>


java代码:
import org.apache.spark.api.java.*;import org.apache.spark.SparkConf;import org.apache.spark.api.java.function.Function;public class SimpleApp {  public static void main(String[] args) {    String logFile = "YOUR_SPARK_HOME/README.md"; // Should be some file on your system    SparkConf conf = new SparkConf().setAppName("Simple Application");    JavaSparkContext sc = new JavaSparkContext(conf);    JavaRDD<String> logData = sc.textFile(logFile).cache();    long numAs = logData.filter(new Function<String, Boolean>() {      public Boolean call(String s) { return s.contains("a"); }    }).count();    long numBs = logData.filter(new Function<String, Boolean>() {      public Boolean call(String s) { return s.contains("b"); }    }).count();    System.out.println("Lines with a: " + numAs + ", lines with b: " + numBs);        sc.stop();  }}

运行:打包后使用python命令运行。
$ mvn package...[INFO] Building jar: {..}/{..}/target/simple-project-1.0.jar# Use spark-submit to run your application$ YOUR_SPARK_HOME/bin/spark-submit \  --class "SimpleApp" \  --master local[4] \  target/simple-project-1.0.jar...Lines with a: 46, Lines with b: 23