当前位置: 首页 > news >正文

泰州企业模板建站北京广告网站建设

泰州企业模板建站,北京广告网站建设,一般做个网站要多少钱,十大网络游戏一、环境准备​ 1. 安装 JDK​ 确保本地已安装与集群环境相同版本的 JDK(建议 JDK 8 或更高版本)。安装完成后,配置系统环境变量,使 Idea 能够识别 Java 运行环境。可在系统设置中,将 JAVA_HOME 变量指向 JDK 的安装…

一、环境准备​

1. 安装 JDK​

确保本地已安装与集群环境相同版本的 JDK(建议 JDK 8 或更高版本)。安装完成后,配置系统环境变量,使 Idea 能够识别 Java 运行环境。可在系统设置中,将 JAVA_HOME 变量指向 JDK 的安装目录,并将 %JAVA_HOME%\bin 添加到 Path 变量中。​

2. 安装 Idea​

从 JetBrains 官网下载并安装 Idea,社区版即可满足大部分 Spark 程序开发需求。安装完成后,打开 Idea 并进行基础配置,如设置主题、字体等。​

3. 下载 Spark 依赖​

在 Spark 官网 下载与集群版本对应的 Spark 发行版。解压后,找到 spark-assembly.jar 文件,该文件包含了 Spark 运行所需的核心类库。若项目还依赖其他第三方库,如 Hadoop、JSON 处理库等,也需一并下载并准备好。​

二、创建 Idea 项目​

1. 新建项目​

打开 Idea,点击 “Create New Project”。在弹出的窗口中,选择 “Java” 项目,设置项目名称和存储路径,点击 “Next”。在 “Java SDK” 下拉框中,选择已安装好的 JDK 版本,然后点击 “Finish” 完成项目创建。​

2. 配置项目结构​

在 Idea 的菜单栏中,点击 “File” -> “Project Structure”。在弹出的窗口中,选择 “Modules”,然后点击 “Dependencies” 标签页。点击 “+” 按钮,选择 “JARs or directories”,将之前下载的 Spark 依赖库(如spark-assembly.jar)以及其他所需的第三方库添加到项目中。同时,确保 “Scope” 设置为 “Compile”,这样这些依赖库在编译和运行项目时都会生效。​

三、编写 Spark 程序​

1. 创建包和类​

在项目的src目录下,右键点击选择 “New” -> “Package”,创建一个包用于存放 Spark 程序代码,例如com.example.spark。然后在包上右键点击,选择 “New” -> “Java Class”,创建一个类,如WordCountApp,用于编写具体的 Spark 程序逻辑。​

2. 编写 WordCount 示例程序​

以经典的 WordCount 程序为例,在WordCountApp类中编写如下代码:

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.FlatMapFunction;
import org.apache.spark.api.java.function.Function2;
import org.apache.spark.api.java.function.PairFunction;
import scala.Tuple2;import java.util.Arrays;
import java.util.Iterator;public class WordCountApp {public static void main(String[] args) {// 创建Spark配置SparkConf conf = new SparkConf().setAppName("WordCount").setMaster("local[*]");// 创建JavaSparkContextJavaSparkContext sc = new JavaSparkContext(conf);// 读取文本文件JavaRDD<String> lines = sc.textFile("input.txt");// 将每行文本拆分成单词JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {@Overridepublic Iterator<String> call(String s) throws Exception {return Arrays.asList(s.split(" ")).iterator();}});// 将每个单词映射为 (单词, 1) 的键值对JavaPairRDD<String, Integer> pairs = words.mapToPair(new PairFunction<String, String, Integer>() {@Overridepublic Tuple2<String, Integer> call(String s) throws Exception {return new Tuple2<>(s, 1);}});// 按单词进行分组,并统计每个单词的出现次数JavaPairRDD<String, Integer> wordCounts = pairs.reduceByKey(new Function2<Integer, Integer, Integer>() {@Overridepublic Integer call(Integer i1, Integer i2) throws Exception {return i1 + i2;}});// 输出结果wordCounts.saveAsTextFile("output");// 关闭JavaSparkContextsc.stop();}
}

上述代码中,首先创建了 Spark 配置和JavaSparkContext,然后通过一系列 RDD 转换操作,实现了对文本文件中单词的统计,并将结果保存到指定目录。​

3. 代码说明​

  • SparkConf:用于配置 Spark 应用的基本信息,如应用名称和运行模式。这里设置setMaster("local[*]")表示在本地模式下运行,使用所有可用的 CPU 核心。在实际部署到集群时,需将其修改为setMaster("yarn")等合适的集群模式。​
  • JavaSparkContext:是 Spark 应用与集群进行交互的入口,负责创建和管理 RDD。​
  • textFile方法:用于从文件系统中读取文本文件,创建一个JavaRDD。​
  • flatMap、mapToPair、reduceByKey等方法:是 RDD 的转换操作,用于对数据进行处理和转换。​
  • saveAsTextFile方法:将最终的统计结果保存到指定的输出目录。​

四、运行和调试程序​

1. 运行程序​

在 Idea 中,右键点击WordCountApp类的main方法,选择 “Run 'WordCountApp.main ()'”。如果程序没有语法错误,且依赖配置正确,程序将在本地运行,并输出单词统计结果。可以在指定的输出目录中查看生成的结果文件。​

2. 调试程序​

若程序运行结果不符合预期,可使用 Idea 的调试功能进行排查。在代码中设置断点,然后右键点击main方法,选择 “Debug 'WordCountApp.main ()'”。程序将在执行到断点处暂停,此时可以查看变量的值、执行流程等,帮助定位问题。​

五、打包和部署程序​

1. 打包程序​

在 Idea 中,点击 “File” -> “Project Structure”,选择 “Artifacts”。点击 “+” 按钮,选择 “JAR” -> “From modules with dependencies”。在弹出的窗口中,选择主类(如WordCountApp),并设置输出目录和 JAR 文件名。点击 “OK” 后,在 Idea 的右侧面板中,找到 “Build” -> “Build Artifacts”,选择刚刚创建的 JAR 包,点击 “Build” 进行打包。打包完成后,在指定的输出目录中会生成包含所有依赖的 JAR 文件。​

2. 部署到集群​

将打包好的 JAR 文件上传到 Spark 集群的任意一个节点上。然后通过spark-submit命令提交作业到集群运行。例如,在 YARN 模式下,执行以下命令:

spark-submit \
--class com.example.spark.WordCountApp \
--master yarn \
/path/to/your/app.jar

其中,--class指定主类的全限定名,--master指定运行模式为 YARN,/path/to/your/app.jar 为上传到集群的 JAR 文件路径。​

通过以上步骤,我们可以在 Idea 中完成 Spark 程序的编写、运行、调试以及打包部署。掌握这些技能,能够更高效地开发和优化 Spark 应用,满足大数据处理的各种需求。

http://www.dtcms.com/a/483952.html

相关文章:

  • MySQL8数据库高级特性-第二章
  • 【Python基础】Python路径操作全解析:os.path、glob与pathlib从入门到精通
  • 男人女人做羞羞事网站如皋网站建设招标
  • 在线相册jsp网站开发与设计徐州泰安抖音代运营
  • 网站seo优化步骤给我一个用c 做的网站
  • 重庆建设造价信息网站深圳带停机坪的别墅
  • 2026计算机毕设选题推荐:基于SpringBoot和Vue的电动车租赁平台系统(附源码和数据库)
  • 建湖做网站需要多少钱wordpress缓存图片
  • 济宁网站建设 中企动力临沂wordpress阻止访问
  • 南京建设网站要多少钱手机网站需要域名吗
  • 基于成功率的自适应差分进化 L-SRTDE 用于 CEC 2024 竞赛
  • 企业 办公 网站模板下载企业网站制作步骤
  • 网站建设大致分哪几块天津网站开发公司
  • 怎样查网站备案人的联系方式网站开发自学时间
  • 网站系统平台建设个人网站主页
  • 基于springboot的民谣网站的设计与实现
  • Linux系统新建用户登录只显示$简陋提示符 ,不显示用户名、主机名字、当前目录...
  • 阿里云网站托管公司软件网站建设
  • 安装网站时出现dir网站的常用技术有哪些
  • 十字链表的构建和操作
  • 中山做网站的公司哪家好佛山100强企业名单
  • 广州网站建设+美词有哪些网站做的好处
  • 网站查询功能怎么做php网页设计完整代码
  • Efficient Multi-Scale Attention Module with Cross-Spatial Learning 学习笔记
  • 国内专门做情侣的网站商城广州市建设工程信息管理平台
  • 游仙移动网站建设有意义网站
  • 小红书MCP AI自动工作流
  • QPSK信号载波同步技术---四相Costas 环法
  • android开发和网站开发wordpress对比phpcms
  • [嵌入式系统-111]:瑞芯微RK3588芯片