最近在学spark,尝试在Windows+Eclipse运行程序,现在分享给大家
首先,你得把你要处理的文件上传带HDFS,怎么上传文件网上都有教程,此处不再赘述。
项目结构图
源代码
import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf
object SimpleApp { def main(args: Array[String]) { val logFile = "hdfs://master:9000/user/root/input/file1.txt" val conf = new SparkConf().setAppName("Simple Application") val sc = new SparkContext(conf) val logData = sc.textFile(logFile, 2).cache() val numAs = logData.filter(line => line.contains("a")).count() val numBs = logData.filter(line => line.contains("b")).count() println("Lines with a: %s, Lines with b: %s".format(numAs, numBs)) } }
|
错误解决办法
可能大家在运行的时候会报如下错误
A master URL must be set in your configuration
这是因为从提示中可以看出找不到程序运行的master,此时需要配置环境变量。
传递给spark的master url可以有如下几种:
local 本地单线程 local[K] 本地多线程(指定K个内核) local[*] 本地多线程(指定所有可用内核) spark: mesos: yarn-client客户端模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
yarn-cluster集群模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
|
不要慌,右键单击项目 Run Configuration进行如下配置
输入“-Dspark.master=local”即可
如下图
点击run,运行结果如下图
附:
Scala for Eclipse