Spark 编程的第一步是需要创建一个 SparkContext 对象,用来告诉 Spark 如何访问集群。在创建 SparkContext
之前,你需要构建一个 SparkConf 对象, SparkConf 对象包含了一些你应用程序的信息。
val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)
appName
参数是你程序的名字,它会显示在 cluster UI 上。master
是 Spark, Mesos 或 YARN 集群的 URL,或运行在本地模式时,使用专用字符串 “local”。在实践中,当应用程序运行在一个集群上时,你并不想要把 master
硬编码到你的程序中,你可以用 spark-submit 启动你的应用程序的时候传递它。然而,你可以在本地测试和单元测试中使用 “local” 运行 Spark 进程。
在 Spark shell 中,有一个专有的 SparkContext 已经为你创建好。在变量中叫做 sc
。你自己创建的 SparkContext 将无法工作。可以用 --master
参数来设置 SparkContext 要连接的集群,用 --jars
来设置需要添加到 classpath 中的 JAR 包,如果有多个 JAR 包使用逗号分割符连接它们。例如:在一个拥有 4 核的环境上运行 bin/spark-shell
,使用:
$ ./bin/spark-shell --master local[4]
或在 classpath 中添加 code.jar
,使用:
$ ./bin/spark-shell --master local[4] --jars code.jar
执行 spark-shell --help
获取完整的选项列表。在这之后,调用 spark-shell
会比 spark-submit 脚本更为普遍。
在YARN上运行Spark配置大部分为Spark on YARN模式提供的配置与其它部署模式提供的配置相同。下面这些是为Spark on YARN模式提供...
SparkRDD 持久化Spark最重要的一个功能是它可以通过各种操作(operations)持久化(或者缓存)一个集合到内存中。当你持久化一个...
Neo4j提供JAVA API以编程方式执行所有数据库操作。 它支持两种类型的API:Neo4j的原生的Java APINeo4j Cypher Java APINeo4j原生...
SpringDATA Neo4j模块Spring DATA模块适用于为各种数据库实现DAO层。 它通过避免一些不需要的工件(DAO实现)来改进应用程序开发...
MongoDB教程 -MongoDB 删除集合MongoDB的 db.collectionName.drop()用于从数据库中删除集合。语法drop()命令的语法如下db.COLLEC...
SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都...
Redis Sunionstore 命令Redis 集合(Set)Redis Sunionstore 命令将给定集合的并集存储在指定的集合 destination 中。如...
Redis Punsubscribe 命令 Redis 发布订阅 Redis Punsubscribe 命令用于退订所有给定模式的频道。语法 redis Punsubscribe 命令基...
目录61.1. 索引的基本 API 结构61.2. 索引访问方法函数61.3. 索引扫描61.4. 索引锁定考虑61.5. 索引唯一性检查61.6. 索引开销估...