利用Idea创建Spark工程以及简单读取文件

Spark创建工程

Spark简介

Spark是一个通用的分布式数据处理引擎。
上面这句话听起来或许很抽象,我们一个词一个词的来解释
**通用:**通用指的是Spark可以做很多事情。刚刚我们提到过的,包括机器学习,数据流传输,交互分析,ETL,批处理,图计算等等等等都是Spark可以做到的。甚至可以说,你需要用数据实现的任何事情,你都可以用Spark试试看。

**分布式:**指的是Spark处理数据的能力是建立在许多机器上的,是可以和分布式的存储系统对接的,是可以做横向扩展的(简单点说就是电脑越多,能力越大)

**引擎:**所谓引擎,说的就是Spark自己不会存储数据,它就像实体的机械引擎一样,会将燃料(对Spark来说是数据)转化成使用者需要的那种形式——例如驱动汽车,再例如得到一个需要的目标结论。但无论如何,巧妇难为无米之炊,没数据是万万不行的。

在这里插入图片描述

安装scala插件

Idea默认是不能创建Scala工程的。需要安装idea的scala插件

方法一:利用系统在线下载
在这里插入图片描述
方法二:方法一失效的情况下,可以在官网下载好后选择手动上传
在这里插入图片描述
注意:加载后需要重启Idea才能生效

scala sdk配置

利用maven下载对应的jar包

<dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.11.12</version>
    </dependency>
    <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.1.1</version>
  </dependency>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-sql_2.11</artifactId>
      <version>2.1.1</version>
    </dependency>

然后加载对应的jar包
在main文件夹内创建一个新的文件夹scala
在这里插入图片描述
设置为资源文件夹
在这里插入图片描述
加载jar包
在这里插入图片描述
在这里插入图片描述

spark代码

def main(args: Array[String]): Unit = {
  val conf = new SparkConf().setMaster("local[*]").setAppName("sparkDemo")
  val sc = SparkContext.getOrCreate(conf)
  println(sc)
  var spark:SparkSession =   SparkSession.builder().master("local[*]").appName("sparksession").getOrCreate()
  println(spark)

    //sc读取HDFS上的文件
    val wcfile = sc.textFile("hdfs://192.168.XXX.100:9000/sparkfile/hello.txt")
    wcfile.collect.foreach(println)
    //sc读取本地文件
    sc.textFile("file:///opt/soft/hello.txt")

    //通过内存创建RDD
//    val rdd:RDD[Int] = sc.parallelize(1 to 10,3)
//        rdd.collect()foreach(println)

    // wordcount
//    var wcrdd = sc.parallelize(Array("hello java","hello scala","hello python","java is good"))
//        wcrdd.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_).collect()foreach(println)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值