大数据技术——使用IDEA开发Scala程序

news2024/11/25 6:55:21

目录

一、使用IDEA开发WordCount程序... 3

二、实验目的... 3

三、实验要求... 3

四、实验环境... 3

五、实验步骤... 3

4.1.1启动IDEA并创建一个新项目WordCount 3

4.1.2为WordCount项目添加Scala框架支持... 7

4.1.3数据准备... 8

4.1.4设置项目目录... 9

4.1.5新建Scala代码文件... 10

4.1.6配置pom.xml文件... 12

4.1.7更新Maven的依赖文件... 12

4.1.8运行WordCount程序... 13

4.1.9打包WordCount程序生成JAR包... 14

4.10提交到Spark中运行... 17

六、使用IDEA开发读写MySQL数据库程序... 18

七、实验目的... 18

八、实验要求... 18

九、实验环境... 19

十、实验步骤... 19

4.1.1创建MySQL数据库... 19

4.1.2在spark-shell交互式环境中读写MySQL数据库... 20

4.1.3编写独立应用程序读写MySQL数据库... 23

4.1.4新建项目... 23

4.1.5设置依赖包... 24

4.1.6新建Scala代码文件... 25

4.1.8配置pom.xml文件... 25

4.1.9编译运行程序... 27

4.2.0生成应用程序JAR包... 27

十一、出现问题及解决办法... 29


一、使用IDEA开发WordCount程序

二、实验目的

掌握使用IntelliJ IDEA开发Spark应用程序。

三、实验要求

使用IntelliJ IDEA开发本地Spark应用程序。
部署分布式Spark应用程序。   

四、实验环境

x86_64 ubuntu 16.04

JDK1.8

Spark-2.1.0

Hadoop-2.7.1

IntelliJ IDEA-3.7

scala-2.11.8

五、实验步骤

4.1.1启动IDEA并创建一个新项目WordCount

启动IntelliJ IDEA

cd /usr/local/idea

./bin/idea.sh

 通过菜单“File-->New-->Project”打开一个新建项目对话框

 单击左侧的“Maven”项,右侧将出现“Create from_archetype”复选框,不要选择,直接单击窗口底部的“Next”按钮

 在弹出的窗口中,在“GroupId”对话框中填入“dblab”,在“ArtifactId”对话框中填入“WordCount”,然后,单击“Next”按钮

 

出现提示框需要单击底部的“Maven projects need to be imported”区域的“Enable Auto-Import”。这样,IDEA就可以自动连接网络下载Maven相关的依赖文件,以后每次修改项目中的pom.xml内容时,IDEA都会自动连接网络下载相关的依赖文件。

选中如下Maven的配置文件

 4.1.2为WordCount项目添加Scala框架支持

 Spark程序开发和运行,需要依赖Spark相关的jar包。按下图中所示依次选择,手动导入spark的jar包到项目中。

 4.1.3数据准备

打开终端,在/usr/local/spark/mycode/目录下创建文件word.txt

cd /usr/local/spark/mycode/wordcount/

sudo vi word.txt

 

 4.1.4设置项目目录

 在界面左侧的项目栏中,在“src”目录的“main”子目录上,单击鼠标右键,在弹出的菜单中选择“New”菜单项,然后,子菜单中选择“Directory”菜单项,创建一个新目录。

 

在弹出的对话框中,输入目录名称“Scala”,单击“OK”按钮

在scala子目录上,单击鼠标右键,在弹出的菜单中选择“Mark Directory as”菜单项,再在子菜单中选择“Sources Root”菜单项,把“scala”目录设置为源代码目录。

在“java”子目录上,单击鼠标右键,在弹出的菜单中单击“Delete...”菜单项,删除这个目录

 4.1.5新建Scala代码文件

在scala目录上单击鼠标右键,在弹出的菜单中单击“New”,然后在子菜单中选择“Scala Class”菜单项,新建一个Scala代码文件。

在弹出的窗口中,在“Name”对话框中输入“WordCount”,在“Kind”的下拉选项框中选择“Object”,单击“OK”按钮

 4.1.6配置pom.xml文件

 具体详情请点击以下链接查看文档:

https://download.csdn.net/download/qq_53142796/87866506icon-default.png?t=N4P3https://download.csdn.net/download/qq_53142796/87866506

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/613228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webAPI学习笔记4——PC端网页特效

目录 1. 元素偏移量 offset 系列 1.1 offset 概述 1.2 offset 与 style 区别 offset style !!!!!!!案例:获取鼠标在盒子内的坐标 !!!!!&…

Jeston Orin Nnao 安装pytorch与torchvision环境

大家好,我是虎哥,Jeston Orin nano 8G模块,提供高达 40 TOPS 的 AI 算力,安装好了Jetpack5.1之后,我们需要配置一些支持环境,来为我们后续的深度学习开发提供支持。本章内容,我将主要围绕安装对…

OCR图片文字识别,人工手动图片标注软件安装过程

OCR图片文字识别,人工手动图片标注软件安装过程,本章关注标注软件的安装,启动过程 1. 下载 anaconda anaconda 下载慢的问题: 使用国内镜像地址下载: https://mirrors.bfsu.edu.cn/anaconda/archive/ https://www.ana…

OpenMMLab-AI实战营第二期——4.深度学习预训练与MMPretrain

文章目录 1. MMPreTrain算法库介绍1.1 算法库与任务组成1.2 框架概览 2. 经典主干网络2.1 ResNet2.2 Vision Transformer 3. 自监督学习3.1 SimCLR3.2 MAE3.3 iBOT 4. 多模态算法4.1 CLIP4.2 BLIP 视频链接:b站-深度学习预训练与MMPretrain 1. MMPreTrain算法库介绍…

NvM学习笔记(一)以TC387为例,分析为什么要使用Flash 模拟 EEPROM ?

在嵌入式软件系统中,管理非易失性的数据存储,如在系统启动时,从非易失性存储器中读取一些关键数据,在系统关闭阶段,同步应用程序RAM区的数据到非易失性存储器中,是一项十分必要的工作。 目前行业内用的最广…

Linux :: 时间日历指令【3】:cal 指令:查询当日是今年的第几天、输出当前月历、指定月历、输出当前年历、指定年历

前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 目录索引&am…

Redis分段锁实现超高并发秒杀

参考尼恩著:《Java高并发核心编程》 技术自由圈 业务情景 还是秒杀场景,假设抖音直播间小杨哥上架6000单螺蛳粉,价格9.9买10包,限时1分钟秒杀,此时准备秒杀的人有1万人。我们首先从技术上来看看如果不进行优化是否可以…

控制四旋翼飞行器以进行多目标航点导航的MPC算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

信不信,3招就能测出你的网工水平

大家好,我的网工朋友 老话常谈一下,在网工这行发展,技术肯定是第一位的。 从你入行的第一步起,就很看重你的技术水平了,越往后,就更注重技术水平和项目经验的融合度。 再往后,技术要有&#…

网络安全实验室|网络信息安全攻防学习平台(脚本关1-6)

传送门: http://hackinglab.cn/ 1. key又又不见了 点击此处开启抓包,send ti repeater 模块 yougotit_script_now2. 快速口算 脚本来源: https://blog.csdn.net/hzxtjx/article/details/125692349 import requests,re# 自动处理cookies&a…

【PCB专题】案例:PCB封装中哪些禁布区我们最常容易忘记增加

USB等直插器件焊接面禁布区 USB器件面那大家都知道有座子有自己的Place_Bound。不同的器件如果Place_Bound重叠的话会报DRC。 但是因为器件是只在一个面上,另一个面是焊接脚,或是另一面不是焊接脚,但PCB封装上为通孔。比如有一些器件从PCB上看是通孔,但PCB Layout人员没见…

c#如何将数据缓存至Redis

环境准备 首先肯定是需要安装redis啦!这是我跑在docker的redis,和安装在本地的是 一样的效果 可视化工具Redis Desktop Manager。 使用方法 第一步,安装nuget包 Microsoft.Extensions.Caching.StackExchangRedis 创建一个asp.net.core项目…

Ubuntu20.04 终端打开不了的问题排查

Ubuntu20.04 终端打开不了的问题排查 今天用virtualbox安装了ubuntu20.04 问题:右键打开终端,怎么也打开不了! 点了也没反应,或者鼠标转小圈圈,然后也没有反应… 解决方法: 1、Ctrl Alt F6 先切换到终…

ChatGPT:求求你憋再问我关于C++多态的任何问题了...

文章目录 💐专栏导读💐文章导读🌷多态在继承中的表现🌺虚函数的重写🌺虚函数重写的两个例外🏵️1.协变🏵️2.析构函数的重写 🌺C11 override 和 final关键字🏵️final&am…

msvcr110.dll丢失怎么修复

msvcr110.dll是Microsoft Visual C 2012 Redistributable的一部分,它是一种动态链接库(DLL),旨在存储许多Microsoft Visual C应用程序共享的功能。这些功能包括数学运算、字符串处理、内存分配和释放等。它在Windows操作系统中起着…

精通Java数组的艺术:从初学者到高手的进阶之路(一)

⭐ 数组⭐ 数组的定义⭐ 创建数组和初始化⭐ 数组常见操作⭐ 数组的遍历⭐ for-each 循环⭐ 数组的拷贝⭐ java.util.Arrays 类 ⭐ 数组 数组的概念 ⭐ 数组的定义 数组是相同类型数据的有序集合。其中,每一个数据称作一个元素,每个元素可以通过一个索引…

Python+Selenium 网页自动化 exe 程序编程实现(最全避坑指南)

前言 在我的日常工作中,经常需要在内网(不连接互联网)的网页版办公系统中进行抓取网页数据、修改表单等大量重复性的操作。我就想是否可以编写出自动化的工具,将这些日常琐碎的操作变得轻松而高效。虽然本人非计算机相关专业&…

OpenGL 纹理

1.简介 纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节;你可以想象纹理是一张绘有砖块的纸,无缝折叠贴合到你的3D的房子上,这样你的房子看起来就像有砖墙外表了。 为了能够把纹理映射(M…

Day973.授权码许可类型中,为什么一定要有授权码? -OAuth 2.0

授权码许可类型中,为什么一定要有授权码? Hi,我是阿昌,今天学习的是auth2中为什么一定要有授权码的内容。 OAuth 2.0 的授权码许可类型,在小兔打单软件的例子里面,小兔最终是通过访问令牌请求到小明的店铺…

使用raspberry pi pico 制作红绿灯

需要的东西:一块面包版、一块raspberry pi pico、红绿黄led灯各一颗、220欧电阻3只、若干线 编程软件:thonny 操作系统:deepin 23 结果展示: 使用raspberry pi pico 制作红绿灯 from machine import Pin import utime yellowled…