
大数据
文章平均质量分 57
@阿证1024
这个世界上最好的语言就是你的实力。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式与并行计算大作业
一、项目汽车销售数据分析二、数据概况:本数据为上牌汽车的销售数据,分为乘用车辆和商用车辆。数据包含销售相关数据与汽车具体参数。数据项包括:时间、销售地点、邮政编码、车辆类型、车辆型号、制造厂商名称、排量、油耗、功率、发动机型号、燃料种类、车外廓长宽高、轴距、前后车轮、轮胎规格、轮胎数、载客数、所有权、购买人相关信息等。三、具体要求:1.统计山西省2013年每个月的汽车销售数量的比例,结果例如:2.统计不同品牌的车在每个月的销售量分布,结果例如:四、代码实现1. 统计山西省2013年每个月原创 2021-06-26 11:05:15 · 2076 阅读 · 2 评论 -
分布式与并行计算课程设计(附流程分析图)
课题名称:倒排序索引的实现一、项目倒排序索引的实现。二、要求数据源:a.txt,b.txt,c.txt请将数据源中的文本按照倒排序的规则统计每个单词在不同文本中出现的次数。最终要求得到类似以下的结果:hello a.txt8,b.txt3,c.txt1tom a.txt5,b.txt2,c.txt1…………………….流程分析图:设置两个Job来实现要求,第一个Job主要是统计出 “单词—所在文件名” 的数量,第二个Job依据Job1统计出来的结果的基础上再进行统计,进而得出倒排索引的结果原创 2021-05-31 13:01:47 · 2732 阅读 · 0 评论 -
GROUP BY语句与HAVING语句的使用
GROUP BYGROUP BY语句用来与聚合函数(aggregate functions such as COUNT, SUM, AVG, MIN, or MAX.)联合使用来得到一个或多个列的结果集。语法如下:SELECT column1, column2, ... column_n, aggregate_function (expression) FROM tables WHERE predicates GRO原创 2021-03-28 11:22:02 · 381 阅读 · 0 评论 -
启动Zookeeper显示STORED,jps却没有进程
启动结果如下图,没有对应的进程:查看myid文件,发现文件内容被更改了(本来是2,结果却变成了0):参考zoo.cfg配置文件(机器对应的编号在这个文件里面),将myid里面的内容修改回来即可。...原创 2020-08-19 16:46:50 · 807 阅读 · 0 评论 -
Linux下搭建Spark本地模式(Local模式)
1.上传文件后解压执行命令:tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/module/结果如图:2. 改名执行命令:mv spark-2.1.1-bin-hadoop2.7/ spark3. 官方求PI案例执行命令:bin/spark-submit \--class org.apache.spark.examples.SparkPi \--executor-memory 1G \--total-executor-cores原创 2020-07-12 20:13:39 · 920 阅读 · 0 评论 -
Sqoop从Hive导出数据到MySQL报错 :Error parsing arguments for export:
错误信息:20/06/14 14:46:04 INFO sqoop.Sqoop: Running Sqoop version: 1.4.620/06/14 14:46:04 ERROR tool.BaseSqoopTool: Error parsing arguments for export:20/06/14 14:46:04 ERROR tool.BaseSqoopTool: Unrecognized argument: --connetc20/06/14 14:46:04 ERROR tool原创 2020-06-14 14:52:03 · 4569 阅读 · 1 评论 -
运行jar包报错:java.lang.NoClassDefFoundError org/apache/hadoop/hbase/HBaseConfiguration
之前都是在Windows客户端操作HBase,今天把程序打成jar包在MR上跑的时候,报了错误,详细信息如下:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration at hadoop02.exer.hbase010301.HBaseImportDemo.<init>(HBaseImportDemo.java:26)原创 2020-06-13 16:25:26 · 4139 阅读 · 1 评论 -
大数据Hadoop之MR TopN案例
1.需求对输入数据进行加工,输出流量使用量在前10的用户信息(1)输入数据13470253144 180 180 36013509468723 7335 110349 11768413560439638 918 4938 585613568436656 3597 25635 2923213590439668 1116 954 207013630577991 6960 690 765013682846555 1938 2910 484813729199489 240 0 24013736原创 2020-06-07 12:56:11 · 932 阅读 · 1 评论 -
解决错误:/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh:行125: /tmp/yarn-hadoop-resourcemanager.pid: 权限不够
今天启动集群的YARN时,报了一个这样的错误。它最先报的是这样一个错误:log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: (权限不够)然后我重新format了以下就转为了下面这个错误:/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh:行125: /tmp/yarn-hadoop-resourcemanager.pid: 权限不够下面是我的尝试的各种方法:1.原创 2020-06-01 16:40:07 · 6021 阅读 · 4 评论 -
花了半天时间标准化的又搭了一遍Hadoop三模式,记录下心得
1. 本地模式总结无论搭建那种模式,首先必备的是准备虚拟机,所以在搭建本地模式之前肯定要先准备一台机器就行,对于准备虚拟机有这几步:(1) 修改主机名: 修改文件在 "/etc/sysconfig/network" 目录下,加入对应的内容即可,注意主机名后面别不小心输入了一个空格,这是错误的。然后就是CentOS7和CentOS6的区别了,很多学生现在都是在用7,但是学的视频里面很多老师是用的6操作的。对于二者,区别是在7中你修改完主机名之后,你要配置主机IP映射关系(在/...原创 2020-05-31 20:28:39 · 206 阅读 · 0 评论 -
大数据Hadoop之MR ETL数据清洗、计数器案例实操
计数器的概念:数据清洗(ETL):在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。案例实操(就一个简单的例子):1.需求去除日志中字段长度小于等于11的日志。(1)输入数据...原创 2020-05-28 14:49:07 · 1143 阅读 · 4 评论 -
大数据Hadoo之MR Map Join案例实操
1.使用场景Map Join适用于一张表十分小、一张表很大的场景。2.优点思考:在Reduce端处理过多的表,非常容易产生数据倾斜。怎么办?在Map端缓存多张表,提前处理业务逻辑,这样增加Map端业务,减少Reduce端数据的压力,尽可能的减少数据倾斜。3.具体办法:采用DistributedCache(1)在Mapper的setup阶段,将文件读取到缓存集合中。(2)在驱动函数中加载缓存。// 缓存普通文件到Task运行节点。job.addCacheFile(new URI(“file:原创 2020-05-28 14:08:09 · 378 阅读 · 0 评论 -
大数据Hadoop之MR GroupingComparator辅助排序案例实操
1.需求有如下订单数据现在需要求出每一个订单中最贵的商品。(1)输入数据0000001 Pdt_01 222.80000002 Pdt_05 722.40000001 Pdt_02 33.80000003 Pdt_06 232.80000003 Pdt_02 33.80000002 Pdt_03 522.80000002 Pdt_04 122.4(2)期望输出数据1 222.82 722.43 232.82.需求分析(1)利用“订单id和成交金额”作为key,可以将Ma原创 2020-05-24 18:20:10 · 466 阅读 · 2 评论 -
大数据Hadoop之MR Combiner案例实操
1.需求统计过程中对每一个MapTask的输出进行局部汇总,以减小网络传输量即采用Combiner功能。(1)数据输入atguigu atguiguss sscls clsjiaobanzhangxuehadoop(2)期望输出数据期望:Combine输入数据多,输出时经过合并,输出数据降低。2.需求分析(我们采用方案一)3.案例实操Combinerpackage com.mapreduce.wordcount;import java.io.IOException;原创 2020-05-22 22:07:59 · 445 阅读 · 0 评论 -
大数据Hadoop之MR自定义排序 区内排序案例实操
前言: 当前排序案例基于下面这个全排序案例的输出数据。全排序案例:https://blog.youkuaiyun.com/qq_43437122/article/details/1062903001.需求要求每个省份手机号输出的文件中按照总流量内部排序。2.需求分析基于前一个需求,增加自定义分区类,分区按照省份手机号设置3. 案例实操:(1)增加自定义分区类package com.mapreduce.fcwritablecomparable;import org.apache.hadoop.io.原创 2020-05-22 21:10:17 · 452 阅读 · 0 评论 -
大数据Hadoop之MR自定义排序 全排序案例实操
前言: MapReduce默认会对key进行字典序排列,但是在一些情况下我们需要按照某种方式进行排序,所以要自定义排序。1.需求根据案例FlowCountBean产生的结果再次对总流量进行排序。FlowCountBean的案例:https://blog.youkuaiyun.com/qq_43437122/article/details/106173182(1)输入数据原始数据 ----------------------第一次处理后的数据(2)期望输出数据,就是总流量较大的放到前面1350946872原创 2020-05-22 20:39:43 · 755 阅读 · 0 评论 -
大数据Hadoop之MR Partition分区案例
前言: 还记得之前统计上行流量,下行流量的案例吗?现在在此基础上在增加要求,如何解决呢?FlowCountBean案例:https://blog.youkuaiyun.com/qq_43437122/article/details/1061731821.需求将统计结果按照手机归属地不同省份输出到不同文件中(分区)。(1)输入数据1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 2002 13846544121 192.196.100.2 264原创 2020-05-22 11:19:57 · 438 阅读 · 0 评论 -
大数据Hadoop之NLineInputFormat使用案例
1.需求对每个单词进行个数统计,要求根据每个输入文件的行数来规定输出多少个切片。此案例要求每三行放入一个切片中。(1)输入数据banzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banz原创 2020-05-18 19:06:52 · 290 阅读 · 2 评论 -
大数据Hadoop之KeyValueTextInputFormat使用案例
1.需求统计输入文件中每一行的第一个单词相同的行数。(1)输入数据banzhang ni haoxihuan hadoop banzhangbanzhang ni haoxihuan hadoop banzhang(2)期望结果数据banzhang 2xihuan 22.需求分析3. 代码实现Mapper:package com.mapreduce.kvsplit;import org.apache.hadoop.io.IntWritable;import org.ap原创 2020-05-18 18:17:16 · 343 阅读 · 0 评论 -
大数据Hadoop之终于弄懂了MapReduce中reduce阶段Iterable迭代出的是同一个对象
1. 前言:之前在看一个老师写流量统计案例时,他刚开始的Mapper代码是这样写的:然后他说这样每次都要造对象,所以他改成了这样:但是这样我就不理解了,因为你每次获取一行数据都要将其对应的上行流量、下行流量放到一个对象中,又因为每一行的数据不同,所以你每次都应该new 一个对象,用来存放数据。如果改成第二种方式,在对一个文件每一行数据读取时,你始终用的就是同一个对象,你每次set值都是对前一个值得覆盖,那么最终不就得不到正确答案了吗?结果证明,老师那样写的没错。2. 各种猜想之后,开始自行DeB原创 2020-05-18 16:25:59 · 1261 阅读 · 3 评论 -
大数据Hadoop之Hadoop序列化案例实操
1.需求:统计每一个手机号耗费的总上行流量、下行流量、总流量(1)输入数据:1 13736230513 192.196.100.1 www.atguigu.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636 192.196.100.3 132 1512 2004 13966251146 192.168.100.1 240 0 4045 18271575951 192.168.100.2 ww原创 2020-05-17 13:30:45 · 557 阅读 · 0 评论 -
大数据Shell之流程控制(重点)
1. if 判断1.1 基本语法:if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi注意事项:(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格(2)if后要有空格1.2 案例实操:(1)输入一个数字,如果是1,则输出banzhang zhen shuai,如果是2,则输出cls zhen mei,如果是其它,什么也不输出。[atguigu@hadoop101 datas]$ touch if.sh[原创 2020-05-13 20:28:05 · 149 阅读 · 0 评论 -
大数据Shell之条件判断知识点盘点
1.基本语法[ condition ](注意condition前后要有空格)注意:条件非空即为true,[ atguigu ]返回true,[] 返回false。2. 常用判断条件(1)两个整数之间比较= 字符串比较-lt 小于(less than) -le 小于等于(less equal)-eq 等于(equal) -gt 大于(greater than)-ge 大于等于(greater equal) -ne 不等于(Not equal)(2)按照文件权限进行判断-r原创 2020-05-13 20:15:26 · 154 阅读 · 0 评论 -
大数据Shell之Shell运算符原来这么简单
1.基本语法(1)“$ ((运算式))”或“$ [运算式]”(2)expr + , - , *, /, % 加,减,乘,除,取余注意:expr运算符间要有空格2.案例实操:(1)计算3+2的值[atguigu@hadoop101 datas]$ expr 2 + 35(2)计算3-2的值[atguigu@hadoop101 datas]$ expr 3 - 2 1(3)计算(2+3)X4的值(a)expr一步完成计算[atguigu@hadoop101 datas]原创 2020-05-13 20:09:51 · 142 阅读 · 0 评论 -
大数据Shell之入门Shell变量看了这篇文章就行了
1. 系统变量1.1 常用变量:$ HOME、$ PWD、 $ SHELL、$ USER等。1.2 案例实操:(1)查看系统变量的值[atguigu@hadoop101 datas]$ echo $HOME/home/atguigu(2)显示当前Shell中所有变量:set[atguigu@hadoop101 datas]$ set BASH=/bin/bash BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()2. 自定义变量2.1 基本语法原创 2020-05-13 19:59:21 · 135 阅读 · 0 评论 -
Linux之这些组和权限管理的命令你get了吗?
1. 查看文件的所有者基本指令:ls -alh简单一点:ll应用实例 :创建一个组police,再创建一个用户tom,将tom放在police组 ,然后使用 tom来创建一个文件 ok.txt,看看情况如何。2. 修改文件 / 目录的所有者指令:1)chown newowner file 改变文件的所有者2)chown newowner:newgroup file 改变用户的所有者和所有组-R 如果是目录 则使其下所有子文件或目录递归生效应用案例:1)请将 /hom原创 2020-05-11 19:57:51 · 553 阅读 · 0 评论 -
Linux之这些压缩和解压类命令你都get了吗?
1. gzip 和 gunzip (我把它读作杠zip)gzip 用于压缩文件,gunzip用于解压的。基本语法:1)gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)2)gunzip 文件.gz (功能描述:解压缩文件命令)应用案例:案例1: gzip压缩, 将 /home下的 hello.txt文件进行压缩案例2: gunzip压缩, 将 /home下的 hello.txt.gz 文件进行解压缩2. zip 和 unzip指令zip 用于压缩文件, unzip 用原创 2020-05-11 19:30:19 · 191 阅读 · 0 评论 -
大数据技术原理与应用实验七
实验七:实验题目:熟悉常用的HBase操作-Java API1.实验目的·理解HBase在Hadoop体系结构中的角色;·熟悉HBase操作常用的Java API。2.实验平台·Hbase 1.1.5以上3.实验内容和要求:·现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:学生表(Student)请使用Hb...原创 2020-04-14 17:32:43 · 1939 阅读 · 0 评论 -
大数据Hadoop之MR数据去重
1、数据去重"数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。1.1 实例描述对数据文件中的数据进行去重。数据文件中的每行都是一个数据。样例输入如下所示:file1:2012-3-1 a2012-3-2 b2012-3-3 c...原创 2020-04-08 15:21:15 · 1315 阅读 · 0 评论 -
CentOS7 伪分布式下搭建HBase(踩坑总结)
之前呢用的都是老版本的HBase0.xx,但是最近在安装HBase1.xx的时候呢出了不少问题,其实你所能见到的常见错误归根到底就是:配置文件没配置好,接下来我详细的介绍下我的安装过程。1.上传安装包并解压:sudo tar -zxvf hbase-1.5.0-bin.tar.gz2.拷贝hadoop配置文件:进入到hadoop的/ect/hadoop目录下将hdfs-site.xml...原创 2020-04-02 11:06:04 · 669 阅读 · 4 评论 -
大数据技术原理与应用实验五
实验:五实验题目:熟悉常用的HDFS操作-利用Java API编程实现1.实验目的· 熟悉HDFS操作常用的Java API。2.实验平台· Hadoop 2.7.1· Eclipse· jdk3.实验内容· 在eclipse软件(或者其他Java IDE),使用java 语言编写能实现下面功能的程序:在hdfs上,创建新文件夹 如 input。从本地系统上传一个文...原创 2020-03-27 14:03:57 · 2239 阅读 · 0 评论 -
windows10下操作HDFS报错:Failed to locate the winutils binary in the hadoop binary path(防坑篇)
今天在Windows上面操作Linux下的HDFS,结果一直报这个错误,搞了好长时间才解决,所以记录一下,让他人和自己少入坑。错误详情:ERROR Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOException: Could not locate executable null\...原创 2020-03-22 12:55:46 · 666 阅读 · 1 评论 -
winuntils-master(windows上远程操作hadoop配置)各个版本下载
下载链接: https://pan.baidu.com/s/1El55vYJbF-UeABsg5hYgbQ提取码:5c7a原创 2020-03-22 12:41:13 · 846 阅读 · 0 评论 -
Linux下Hadoop安装Hive(配置metastore为mysql,详细图解)
我的环境:CentOS7 + Hive0.13.0 + 集群(没有安装包的可以联系我)1.上传压缩包2.解压压缩包(安装目录自定义)tar -zxvf apache-hive-0.13.0-bin.tar.gz -C /az/ls 查看:此时你就可以进入到bin目录下,启动hive,如图:但是这样的hive是不支持多链接的,咱们是要在集群下使用hive,所以还要把他的meta...原创 2020-03-20 17:34:31 · 925 阅读 · 0 评论 -
启动Hive报错:Access denied for user 'root'@'az01' (using password: YES)(关于本地和远程的错误)
今天在安装Hive,结果在配置metastore的时候发现了一个错误,如图:这种错呢一般有两种错误类型:一是密码错误:**(using password: NO)**为NO,但是我的图片上显示为YES,那么密码是不错的。二是权限错误:你需要更改一下权限就行了。详情见我的这篇博客(两条命令就OK了):https://blog.youkuaiyun.com/qq_43437122/article/det...原创 2020-03-20 12:00:03 · 871 阅读 · 0 评论 -
Linux下载安装Sqoop(一台机器,带详细图解,步骤简单)
安装前一定要阅读:这篇文章我只介绍了如何安装sqoop,对于下面利用sqoop将mysql里面的数据复制到HDFS,涉及到mysql的安装和远程连接问题,请自行百度,或者参考我的这篇博客。https://blog.youkuaiyun.com/qq_43437122/article/details/1035518781.上传文件需要上传sqoop的安装包和连接mysql的驱动:本人比较良心,为了帮助...原创 2020-03-16 15:28:28 · 1639 阅读 · 1 评论 -
java.net.BindException: 地址已在使用 (Bind failed)(HadoopDataNode无法启动)
今天启动自己搭建的伪分布式,发现启动后无datanode,查看日志信息后发现:很明显端口被占用了,所以执下面的命令,查看进程:netstat -alnp | grep 50010找到占用的线程,然后kill掉:kill -9 2084注意:你查看进程的时候要在root用户下查看,不然可能显示不出来PID。如果NameNode也是端口被占用了,也可以按照此方法解决。...原创 2020-03-16 12:39:47 · 1768 阅读 · 0 评论 -
CentOS7 下安装伪分布式Hadoop(详细图解)
1.创建hadoop-vm用户(用户名可以自及定义)1.1 输入useradd -m az 创建用户1.2 输入passwd az(此处为你设置的用户名) 更改密码2.设置用户为管理员2.1 更改/etc/sudoers文件权限chmod 744 /etc/sudoers 2.2 编辑 /etc/sudoers 文件,加入以下内容:注意:虽然我设置用户名时输入的大写的AZ,但其实...原创 2020-03-08 15:10:08 · 3692 阅读 · 0 评论 -
CentOS7 安装JDK1.8(详细图解)
上传JDK安装包,如图:解压文件sudo tar -zxvf jdk-8u162-linux-x64.tar.gz -C /itcast/进入到解压目录,修改文件名称sudo mv jdk1.8.0_162/ jdk1.84. 修改环境变量4.1 编辑profile文件,在最后面添加如图所示内容(注意自己的解压路径)sudo vim /etc/profile4....原创 2020-03-08 13:43:41 · 458 阅读 · 0 评论 -
Java实验三(2019大数据)
练习11.在给定的程序Lab0301.java中补充代码实现计算一个字符串中单词的数量的功能。2.添加一个新方法private static String getFirstWord(String input)该方法把一个字符串作为参数,返回这个字符串的第一个单词。3.在给定的程序Lab03.java中实现计算一个字符串中单词的数量的功能。package practice;import...原创 2020-03-05 20:37:52 · 246 阅读 · 0 评论