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

2023-11-03

目录

一、使用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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大数据技术——使用IDEA开发Scala程序 的相关文章

随机推荐

  • 是微服务不香了?淘宝为什么要放弃Spring Cloud 和 Dubbo?

    都2021年了 还没用过微服务 吗 中台架构还只是听说过 2020年的双十一 天猫订单处理峰值达到58 3万笔 秒 2020年的双十二 数据量高达1200万 2021年的12306网站单日浏览峰值5000 亿次 2021年的一线互联网三高架
  • VSCode-Python传参数进行Debug

    新建demo py import argparse def parse args description debug example parser argparse ArgumentParser description descriptio
  • openssl生成证书及利用mongoose实现简单RESTAPI_HTTPS_SERVER服务器测试

    openssl生成证书及利用mongoose实现简单RESTAPI HTTPS SERVER服务器测试 版本说明 版本 作者 日期 备注 0 1 loon 2019 4 1 初稿 文章目录 openssl生成证书及利用mongoose实现简
  • 兴趣部落老是显示无法连接服务器失败,qq兴趣部落为什么停运

    很多人都有玩过qq兴趣部落 但是最近官方宣布兴趣部落即将下线 很多用户都不是很了解qq兴趣部落为什么停运 针对这一点 非凡小编给大家整理了相关的内容分享 赶紧来了解一下吧 qq兴趣部落为什么停运 一 停运详情 腾讯QQ群兴趣部落官网今日发布
  • Vue3的watchEffect的妙用,与watch的区别

    前言 在Vue3中 引入了Composition API 其中的watchEffect 函数是一个非常强大和灵活的工具 用于处理响应式数据的变化 使得项目更加弹性和灵活 它与watch有所不同 本文将介绍watchEffect 的定义 特点
  • 一行一行写入csv

    有时候数据量很大 如果df to csv会占用很多内存 因此一行一行写入 import csv out f open df save path w newline writer csv writer out f writer writero
  • Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received

    Sent non empty Sec WebSocket Protocol header but no response was received
  • c++访问私有(private)成员变量的常用方法

    类的对象不能直接访问类声明的私有成员变量 否则破坏了信息隐藏的目的 在C 中 为了防止某些数据成员或成员函数从外部被直接访问 可以将它们声明为private 这样编译器会阻止任何来自外部非友元的直接访问 私有成员变量的常用访问方法如下 1
  • mysql的sql性能分析器

    author skate time 2012 02 17 mysql的sql性能分析器 MySQL 的SQL性能分析器主要用途是显示SQL执行的整个过程中各项资源的使用情况 分析器可以更好的展示 出不良SQL的性能问题所在 mysql sq
  • 高德地图点标记及信息窗体的使用

    项目背景 要做一个数据大屏 需要用到地图以及点标记 UI大致是这样 我是结合vue使用的 vue调用高德地图有一个组件是vue amap 基于vue2 0和高德地图的 我是后端开发 vue是才上手 没有使用npm安装 整个实现上可能走了一些
  • 2014年8月26日星期二(DEMO8-9加载COB模型)

    步骤 1读取文件开头第一行 2读取名称 中心位置 X轴 Y轴和Z轴 用来定义局部矩阵 3读取局部坐标到世界坐标的变换矩阵 4 读取World Vertices行 并按照x y z顺序读取顶点列表 5 读取Texture Vertices行
  • 解决getPopupContainer解决ant-design-react select组件下拉框偏移错

    1 select下拉框撑出了滚动条 2 解决getPopupContainer node gt node 代码如下
  • VS中链接错误:error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”

    1 出现如下的错误的时候 如果VS在生成的时候 遇到这样的问题 是因为平台不相符造成的 比如你是2013的 然后你用2017打开 这样的话就会导致出现上述问题 解决的方案就是在属性中 如下 找到你最初使用的平台集就可以了
  • 原油早评

    昨日原油冲高回落收类似倒锤子线 四小时K线呈现M头迹象 显示从4月28日至昨日高点近50 的上涨已出现乏力 预计短期将震荡盘整 目前沙特几乎提高了6月份所有等级的油品出口价格 昨日沙特上调了销往欧洲和地中海沿岸的贴水5 8 7 5美元 桶
  • 华人曾与IBM抗衡! 盘点已远去的IT巨头(转)

    PConline资讯 从算盘到计算器 从大型机到个人PC 再到当今火热的移动终端和云计算 人类计算史已经走过了千年之久 现代IT计算领域也经过了百年浮沉 在世界工业领域 IT技术应该是诞生时间最短却对当今人类影响最大的 如果让读者您列数你所
  • 编程语言与脚本语言的理解

    计算机语言和自然语言一样是交流的工具 只是在计算机快速发展的当今社会 计算机语言显得格外的重要 而对于一些从事IT行业的的菜鸟而言 听到的语言特别多 比喻说什么 java c c js c html 等等 一般会产生一定的疑惑 下面就编程语
  • C++设计模式之责任链模式

    好多新学设计模式的同学 对责任链模式一知半解 今天以C 为例 做个简单的分享 责任链模式指使多个对象多有机会处理请求 避免请求发送者和接受者的耦合关系 将这些接受处理的对象连成一条链 并沿着该链处理请求 收到请求后 每个处理者均可对请求进行
  • Chrome浏览器乱码问题

    浏览器乱码问题 最近 发现自己的chrome浏览器直接乱码了 但是一直没时间去处理 最近找到了解决方法 给出一份总结 首先 作为业界公认最好的浏览器 chrome是不会存在乱码这种低级bug的 通过百度提示 我也很憨的去找过一些chrome
  • js逆向-某狗翻译

    声明 本文仅供学习参考 请勿用于其他途径 违者后果自负 前言 目标网站 aHR0cHM6Ly9mYW55aS5zb2dvdS5jb20vdGV4dA 接口 aHR0cHM6Ly9mYW55aS5zb2dvdS5jb20vYXBpL3RyYW
  • 大数据技术——使用IDEA开发Scala程序

    目录 一 使用IDEA开发WordCount程序 3 二 实验目的 3 三 实验要求 3 四 实验环境 3 五 实验步骤 3 4 1 1启动IDEA并创建一个新项目WordCount 3 4 1 2为WordCount项目添加Scala框架