目录

一、Sparkの安装及配置。使用 Spark shell 实现 file8.txt 文件的词频统 计(WordCount)。

二、使用sbt编译打包Scale程序,统计 file8.txt 文件中包含字母 c 和字母 e 的行数。

2.1 安装sbt:

2.1.1 建立启动sbt的脚本文件

2.1.2 测试sbt是否安装成功

2.1.3 设置源,vim ~/.sbt/repositories

2.2 统计 file8.txt 文件中包含字母 c 和字母 e 的行数


一、Sparkの安装及配置。使用 Spark shell 实现 file8.txt 文件的词频统 计(WordCount)。

打开清华大学下载站  https://mirrors.tuna.tsinghua.edu.cn/

先进入Apache文件在选择spark文件

解压,如果提示没权限,加sudo chmod 777 -R 

解压位置:/media/liuhao/sda4/spark

配置环境变量

简单测试,词频统计

新建文件test8.file

进入spark-shell

简单测试(词频统计)

 from pyspark import SparkConf,SparkContext as sc

conf = SparkConf().setMaster("local").setAppName("wordcount")

sc=SparkContext.getOrCreate(conf)

lines = sc.textFile("/usr/local/hadoop/file8.txt")

words = lines.flatMap(lambda line:line.split(" "))

count = words.map(lambda x:(x,1)).reduceByKey(lambda x,y:x+y)

print(count.collect())

二、使用sbt编译打包Scale程序,统计 file8.txt 文件中包含字母 c 和字母 e 的行数。

2.1 安装sbt:

sbt - The interactive build tool​​​​​​​e

解压位置:/opt/scala/sbt

配置环境变量:vim ~./bshrc

2.1.1 建立启动sbt的脚本文件

建立启动sbt的脚本文本文件,如/opt/scala/sbt/ $ vim sbt ,在sbt文本文件中添加:

#!/bin/bash

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar /opt/scala/sbt/bin/sbt-launch.jar "$@"

·修改sbt文件权限

2.1.2 测试sbt是否安装成功

/*第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了,安装成功后显示如下*/
$ sbt sbt-version
[info] Set current project to sbt (in build file:/opt/scala/sbt/)
[info] 0.13.5

2.1.3 设置源,vim ~/.sbt/repositories

[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
huaweicloud-ivy: https://repo.huaweicloud.com/repository/ivy/, [organization]/[module]/(scala_[scalaVers

2.2 统计 file8.txt 文件中包含字母 c 和字母 e 的行数

1. 创建文件夹

mkdir ./sparkapp

mkdir -p ./sparkapp/src/main/scala

2. 在~/sparkapp/src/main/scala文件夹下编辑SimpleApp.scala

/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
 
object SimpleApp {
    def main(args: Array[String]) {
        val logFile = "file:///usr/local/hadoop/file8.txt"
        val conf = new SparkConf().setAppName("Simple Application")
        val sc = new SparkContext(conf)
        val logData = sc.textFile(logFile, 2).cache()
        val numAs = logData.filter(line => line.contains("c")).count()
        val numBs = logData.filter(line => line.contains("e")).count()
        println("Lines with c: %s, Lines with e: %s".format(numAs, numBs))
    }
}

​​​​​​​

3. 编译打包

vim ./sparkapp/simple.sbt

文件内容(在安装过程中注意查看版本):

name := "Simple Project"
version := "1.0"
scalaVersion := "2.12.15"
libraryDependencies += "org.apache.spark" %% "spark-core" % "3.3.1"

检查应用程序文件结构:

find .

应用程序打包

sbt package

4. 通过spark-submit运行程序​​​​​​​

/media/liuhao/sda4/spark/bin/spark-submit --class "SimpleApp" /opt/scala/sbt/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar 2>&1 | grep "Lines with"

 如果无输出,请查看问题所在:

/media/liuhao/sda4/spark/bin/spark-submit --class "SimpleApp" /opt/scala/sbt/sparkapp/target/scala-2.12/simple-project_2.12-1.0.jar 2>&1

【参考资料】

ubuntu上安装spark详细步骤_大广-全栈开发的博客-CSDN博客_ubuntu安装spark

【大数据处理技术】实验8相关推荐

  1. 【大数据处理技术】第三篇 大数据处理与分析(暂停更新)

    大数据分析与处理 第7章 MapReduce 7.1 概述 7.1.1 分布式并行编程 7.1.2 MapReduce 模型简介 7.1.3 Map 和 Reduce 函数 7.2 Mapreduce ...

  2. 《深入理解大数据:大数据处理与编程实践》一一1.2 大数据处理技术简介

    本节书摘来自华章计算机<深入理解大数据:大数据处理与编程实践>一书中的第1章,第1.2节,作者 主 编:黄宜华(南京大学)副主编:苗凯翔(英特尔公司),更多章节内容可以访问云栖社区&quo ...

  3. NLPIR大数据处理技术实现多种类智能挖掘

    当今,信息技术为人类步入智能社会开启了大门,带动了互联网.物联网.电子商务.现代物流.网络金融等现代服务业发展,催生了车联网.智能电网.新能源.智能交通.智能城市.高端装备制造等新兴产业发展.现代信息 ...

  4. 大数据处理技术之数据集成

    大数据处理技术是一个十分重要的工作,就好比做菜,我们做菜之前就需要对蔬菜进行清洗,洗过的菜我们才能够吃的放心,同时还有助于我们的身体健康.而大数据处理就好比清洗蔬菜一样,当我们对数据整理以后,我们才能 ...

  5. 关于大数据技术的演讲_大数据核心技术介绍:大数据处理技术

    大数据之所以能够从概念走向落地,说到底还是因为大数据处理技术的成熟,面对海量的数据,在有限的硬件条件下,以低成本满足大数据处理的各种实际需求.那么具体处理大数据需要哪些技术,今天我们来简单介绍一下大数 ...

  6. 纯前端大数据处理技术:葡萄城纯前端开发工具应用实践

    SpreadJS 是一款基于 HTML5 的纯 JavaScript 电子表格和网格功能控件,满足多平台.跨平台的表格数据处理和类 Excel 的表格应用开发. WijmoJS 前端开发工具包由多款纯 ...

  7. 大数据时代:大数据处理技术及采集方法

    在大数据时代,传统的大数据处理技术还管用吗? 大数据处理环节下的需求 大数据环节下的数据来源是非常多,而且类型也很多花样,存储和数据处理的需求量很大,对于数据展现也非常的高,并且很看重数据处理的高效性 ...

  8. 大数据处理技术之hadoop概览

    上两个图,可以对热到极致的大数据处理技术有一个基本的认识 大数据处理技术之演进 大数据处理技术之hadoop软件族: hadoop 1 hadoop2 相关软件下面简介: 1 Ambari:Hadoo ...

  9. 大数据处理技术导论(8) | Datawhale组队学习46期

    文章目录 10. 1 面试题 10.1.1 hive外部表和内部表的区别 10.1.2 简述对Hive桶的理解? 10.1.3 HBase和Hive的区别? 10.1.4 简述Spark宽窄依赖 10 ...

  10. 大数据处理技术导论(1) | Datawhale组队学习46期

    文章目录 前言 1. 大数据概述 1.1 数据量大 Volume 1.2 数据种类多 Variety 1.3 处理速度快 Velocity 1.4 价值密度低 Value 2. hadoop 2.1 ...

最新文章

  1. 进击的UI---------------UIPickerView
  2. AWS — Nitro System
  3. oracle两列合并成一列_POWER QUERY--一个工作簿内的多张工作表合并汇总
  4. asp:DropDownList用法
  5. Jscript中window.setInterval和window.setTimeout的区别
  6. 贷款中介市场要变天了吗?
  7. 阻止xap文件在浏览器中缓存
  8. 关于scanf 与 cin gets(),getline()......输入输出字符串的区别
  9. matlab 中最小二乘拟合,matlab 最小二乘拟合
  10. android开发JNI之高级篇
  11. Java 学习/面试指南
  12. 西电软件工程概论复习笔记(含重点标注)
  13. MinGW-w64没有bin文件解决方法
  14. ‘adb‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  15. 宗地自动编号及属性赋值
  16. [HNOI2007]最小矩形覆盖(旋转卡壳)
  17. chm打开秒退_Mac_Mac电脑程序无响应怎么办?Mac程序无响应解决方法,虽然Mac电脑一向以运行稳定、 - phpStudy...
  18. 技术人攻略访谈四十-刘睿民:数据库战国时代,我不跟你们玩政治!
  19. 海思开发板设置开机自启动方法
  20. Memcached单键超1M数据量的拆分设计及测试

热门文章

  1. java实现word导入导出富文本(含图片)-附完整测试用例
  2. [CIamp;CD]jenkins自动化工具使用教程
  3. 数据流图和数据流程图的区别
  4. 2020第十一届蓝桥杯c语言第三场,2020年第十一届蓝桥杯国赛个人题解
  5. android面试题库及答案,Android面试题目之常见的选择题【附答案】
  6. Telnet远程登录
  7. Lesson32_HTMLCSS
  8. 名画222 明代《画选36幅》
  9. Unity3D学习——(一)让Unity3D中的单位与2D像素对应
  10. 22年普通二本不考研找实习总结