zoukankan      html  css  js  c++  java
  • eclipse上运行spark程序

    最近在学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" // 读取hdfs上的文件
        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://HOST:PORT 连接到指定的 Spark standalone cluster master,需要指定端口。
        mesos://HOST:PORT 连接到指定的 Mesos 集群,需要指定端口。
        yarn-client客户端模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。
    
        yarn-cluster集群模式 连接到 YARN 集群。需要配置 HADOOP_CONF_DIR。

    不要慌,右键单击项目 Run Configuration进行如下配置
    输入“-Dspark.master=local”即可
    如下图



    点击run,运行结果如下图



    Scala for Eclipse

  • 相关阅读:
    python 和 R 语言中的等差数列
    python 用 matplotlib 绘制误差条图
    Python 模拟伯努利试验和二项分布
    R 基于朴素贝叶斯模型实现手机垃圾短信过滤
    PCA 在手写数字数据集上的应用
    R 实现朴素贝叶斯分类器模型
    R语言 绘制正(余)弦图
    R 绘制反正(余)弦图像
    R 绘制正(余)切图像
    R 语言 do.call() 函数
  • 原文地址:https://www.cnblogs.com/ainima/p/6331799.html
Copyright © 2011-2022 走看看