热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Spark】简单入门——HelloWorld

环境IntelliJIDEA+Maven+Spark_2.1.1JDK_1.8.0_131Scala_2.11.0语言JavaScala目的读取README.md文件并显示文件内容

环境

  • IntelliJ IDEA + Maven + Spark_2.1.1
  • JDK_1.8.0_131
  • Scala_2.11.0

语言

  • Java
  • Scala

目的

  • 读取README.md文件并显示文件内容

过程

  • 新建工程: File->New Project,选择Maven

《【Spark】简单入门——HelloWorld》 New Project 1

  • Next进入下一步
  • 输入GroupIdArtifactId

《【Spark】简单入门——HelloWorld》 New Project 2

  • Next进入下一步

《【Spark】简单入门——HelloWorld》 New Project 3

  • Finish
  • 新建的工程结构如下

《【Spark】简单入门——HelloWorld》 Project Structure

  • 其中pom.xml里面需要添加我们的maven仓库
  • spark依赖的代码如下:


org.apache.spark
spark-core_2.11
2.1.1

  • 修改后的pom.xml内容如下


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.helloworld
HelloWorld
1.0-SNAPSHOT


org.apache.spark
spark-core_2.11
2.1.1



  • 右键pom.xml文件,选择Maven->Reimport,开始下载依赖
  • 下载依赖的时间可能会很长_(:з」∠)_
  • 新建README.md文件,我的文件放在工程目录HelloWorld里,文件内容如下:

《【Spark】简单入门——HelloWorld》 READEME.md

  • 下面正式开始啦=v=

Java版本的HelloWorld

  • 右键点击src/main/java目录,选择New->Java Class

《【Spark】简单入门——HelloWorld》 New Class 1

  • 输入类名

《【Spark】简单入门——HelloWorld》 New Class 2

  • OK
  • 在新建的HelloWorld.java里添加如下代码

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.VoidFunction;
public class HelloWorld {
public static void main(String[] args) {
SparkConf cOnf= new SparkConf().setAppName("HelloWorld").setMaster("local").setSparkHome("/usr/lib/spark/spark-2.1.1-bin-hadoop2.7");
// setMaster指定Master
// setSparkHome指向安装spark的地址,视环境而定
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD data = sc.textFile("README.md");
// 加载README.md文件并创建RDD
data.foreach(new VoidFunction() {
public void call(String s) throws Exception {
System.out.println(s);
}
});
// 输出RDD中的每个分区的内容
}
}

  • 输出结果

《【Spark】简单入门——HelloWorld》 Output

Scala版本的HelloWorld

  • 先要下载Scala,已经下载的可以忽略这个部分
  • 点击File->Setting,找到Plugins,在右边搜索Scala

《【Spark】简单入门——HelloWorld》 Install Scala

  • 上面是已经安装完成的情况,要是没有安装的话应该会显示:

《【Spark】简单入门——HelloWorld》 Uninstall

  • 点击Search in repositories,找到Scala,然后点击Install就可以了
  • 安装完Scala后,进入下面的步骤
  • 点击File->Project Structure

《【Spark】简单入门——HelloWorld》 Add Scala SDK

  • 选择Libraries,点击左上角的+,选择Scala SDK

《【Spark】简单入门——HelloWorld》 Choose Scala

  • 一直点OK就可以了
  • 删除src/main/java目录,然后添加新目录scala,完成后工程结构如下

《【Spark】简单入门——HelloWorld》 Project Structure

  • 右键scala,点击Mark Directory as -> Sources Rootscala会变蓝色
  • 右键scala,选择New -> Scala Class
  • 输入类名,并注意选择KindObject

《【Spark】简单入门——HelloWorld》 New Scala Class

  • 在新建的HelloWorld.scala里添加如下代码

import org.apache.spark.{SparkConf, SparkContext}
object HelloWorld {
def main(args: Array[String]): Unit = {
val cOnf= new SparkConf().setAppName("HelloWorld").setMaster("local").setSparkHome("/usr/lib/spark/spark-2.1.1-bin-hadoop2.7");
val sc = new SparkContext(conf)
// setMaster指定Master
// setSparkHome指向安装spark的地址,视环境而定
val data = sc.textFile("README.md")
// 加载README.md文件并创建RDD
data.foreach(println)
// 输出RDD中的每个分区的内容
}
}

  • 输出结果

《【Spark】简单入门——HelloWorld》 Output

  • 成功啦( ̄︶ ̄)
  • 感觉自己罗里吧嗦的(/ω\)

推荐阅读
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文对比了杜甫《喜晴》的两种英文翻译版本:a. Pleased with Sunny Weather 和 b. Rejoicing in Clearing Weather。a 版由 alexcwlin 翻译并经 Adam Lam 编辑,b 版则由哈佛大学的宇文所安教授 (Prof. Stephen Owen) 翻译。 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
author-avatar
mobiledu2502919967
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有