大数据(MapReduce的编程细节及其Hive的安装,简单操作)

大数据课程第五天


MapReduce编程细节分析
  • MapReduce中,Reduce可以没有 (纯数据的清洗,不用Reduce)

      job.setNumReduceTasks(0);
  • 设置多个Reduce
    // 默认在MapReduce中 Reduce的数量是1 job.setNumReduceTasks(3);?//为什么Reduce的数量可以设置为多个内存角度  并行角度 ?//如果Reduce数量多个话,那么生成结果也是多个独立的文件,放置在同一个目录下
  • Partition 分区
    分区的作用: Map 输出的key,合理分配对应的Reduce进行处理默认的分区策略:
    key%reduceNum =
    public class HashPartitioner<K, V> extends Partitioner<K, V> {
        public HashPartitioner() {
        }
    ?
        public int getPartition(K key, V value, int numReduceTasks) {
            return (key.hashCode() & 2147483647) % numReduceTasks;
        }
    }
    ?
    自定义分区策略
    public class MyPartitioner<K,V> extends Partitioner<K,V>{
    
    }
    job.setPartitionerClass(MyPartitioner.class);
     
  • Map的压缩
    1. core-site.xml2. mapred-site.xml

  • Combainer编程

    Map端的Reducejob.setCombinerClass(MyReduce3.class);
  • Counter计数器
     Counter counter = context.getCounter("baizhiCounter", "mapCount"); counter.increment(1L);
Hive编程
概念: Hive是apache组织开源的一个数据仓库框架,最开始是FaceBook提供的.?1. 数据仓库数据库    DataBase存储的数据量级   小    价值高数据仓库  DataWareHouse 存储的数据量级  大   价值低?2. Hive底层依附的是Hadoop ?3. 以类SQL(HQL Hive Query Languge) 的方式运行MR,操作HDFS上的数据
  • Hive的原理分析

    Hive Hadoop on SQLSparkQL  Spark on SQLPresto  Impala  kylin
  • Hive基本环境的搭建

    1. 搭建Hadoop
    2. Hive安装 加压缩
    3. 配置
       hive-env.sh
       # Set HADOOP_HOME to point to a specific hadoop install directory
    HADOOP_HOME=/opt/install/hadoop-2.5.2
    ?
    # Hive Configuration Directory can be controlled by:
    export HIVE_CONF_DIR=/opt/install/apache-hive-0.13.1-bin/conf
       4. 在hdfs 创建  /tmp  数据库表对应的路径
                       /user/hive/warehouse
       5. 启动hivebin/hive
     
  • Hive的基本使用
    1. hive数据库
       show databases;
       create database if not exists baizhi_140
       use baizhi_140
    2. 表相关操作
       show tables;
       create table if not exists t_user(
        id int,
        name string
        )row format delimited fields terminated by ‘\t‘;
    3. 插入数据 导入数据 本地操作系统文件 向 hive表 导入数据
       load data local inpath ‘/root/data3‘ into table t_user;
    4. SQL语句
       select * from t_user;
  • Hive与HDFS对应的一个介绍
    1. 数据库对应的就是一个HDFS目录
    baizhi141  /user/hive/warehouse/mydb
    2. 表对应一个HDFS目录
    /user/hive/warehouse/mydb/t_user
    3. 表中的数据 对应的是 HDFS上的文件
     load data local inpath ‘/root/data3‘ into table t_user;
     bin/hdfs dfs -put /root/data3 /user/hive/warehouse/mydb/t_user
    
    

原文地址:https://www.cnblogs.com/lhc-hhh/p/10324490.html

时间: 2024-10-07 02:26:08

大数据(MapReduce的编程细节及其Hive的安装,简单操作)的相关文章

学大数据需要什么编程基础?大数据学习步骤是什么?

学大数据需要什么编程基础?大数据学习步骤是什么? 大数据是什么? 有很多朋友问过我,大数据到底是什么?一句话来- 学大数据需要什么编程基础?大数据学习步骤是什么?大数据是什么? 有很多朋友问过我,大数据到底是什么?一句话来概括 针对非软件行业的朋友 根据你平时在超市,加油站,饭店等地方的一些消费行为,通过大数据这个技术,我们可以知道你现在的年龄范围,是否婚配,是否有孩子,孩子大致是几岁,是否有固定住宅,车大致是什么价位的等信息. 针对软件行业的朋友 平时我们写的程序都是在一台机器上运行,处理能力

大数据时代的全能日志分析专家--Splunk安装与实践

大数据时代的全能日志分析专家 --Splunk安装与实践 (  此文已刊发在<网络运维与管理>杂志  ) 0.背  景 随着大家对网络安全意识的提高,企业网管理人员,必须对IT基础设置进行监控及安全事件的管理,管理数据的数量和种类非常巨大,那么就需要有一款能否分析各种日志数据的工具,经过长期实践,为大家推荐Splunk这么一款全能型分析工具. 1.Splunk简介 Splunk是一款功能强大的.记录详细的日志分析软件,Splunk是基于原始日志数据(Raw data)内容建立索引,保存索引的同

大数据MapReduce 编程实战

MapReduce 编程实战 一.大数据的起源1.举例:(1)商品推荐 问题1:大量订单如何存储?问题2:大量订单如何计算?(2)天气预报: 问题1:大量的天气数据如何存储?问题2:大量的天气数据如何计算? 2.大数据核心的问题: (1)数据的存储:分布式文件系统 (2)数据的计算:分布式计算(MapReduce) 3.MapReduce的计算模型的来源 (1)根据Google发表一篇论文:MapReduce (2)问题:PageRank(网页排名)---> 举例 二.MapReduce的编程模

大数据Hadoop生态圈:Pig和Hive

前言 Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台. Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一点和FaceBook开源的Hive一样简洁,清晰,易上手! 一.Pig概述 Pig包括 两部分 1:用于描述数据流的语言,称为 Pig Latin (拉丁猪,个人翻译) 2:用于运行PigLatin程序的 执行环境 .一个是 本地 的单

大数据架构培训 视频教程 Hadoop HBase Hive Storm Spark Sqoop Flume ZooKeeper Kafka Redis 云计算

培训大数据架构开发! 从零基础到高级,一对一培训![技术QQ:2937765541] ------------------------------------------------------------------------------------------------------------------------------------------- 课程体系: 获取视频资料和培训解答技术支持地址 课程展示(大数据技术很广,一直在线为你培训解答!): 获取视频资料和培训解答技术支持地

大数据高薪培训 视频教程 Hadoop HBase Hive Storm Spark Sqoop Flume ZooKeeper Kafka Redis 云计算

培训大数据架构开发! 从零基础到高级,一对一培训![技术QQ:2937765541] ------------------------------------------------------------------------------------------------------------------------------------------- 课程体系: 获取视频资料和培训解答技术支持地址 课程展示(大数据技术很广,一直在线为你培训解答!): 获取视频资料和培训解答技术支持地

大数据学习之Storm实时计算概述及安装部署33

一:Storm概述 网址:http://storm.apache.org/ ApacheStorm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理.Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣! Storm有许多用例:实时分析,在线机器学习,连续计算,分布式RPC,ETL等.风暴很快:一个基准测试表示每个节点每秒处理超过一百万个元组.它具有可扩展性,容错性,可确保您的数据得到处理,并且易于设置和操作. Sto

大数据学习——shell编程

03/ shell编程综合练习 自动化软件部署脚本 3.1 需求 1.需求描述 公司内有一个N个节点的集群,需要统一安装一些软件(jdk) 需要开发一个脚本,实现对集群中的N台节点批量自动下载.安装jdk 2.思路 1/ 编写一个启动脚本,用来发送一个软件安装脚本到每一台机器 2/ 然后启动每台机器上的软件安装脚本来执行软件下载和安装 3.expect的使用 痛点:使用scp命令远程拷贝文件时,会有人机交互的过程,如何让脚本完成人机交互? 妙药: expect 用法示例: 先观察  ssh lo

大数据之Shell编程(三) 高级文本处理文本

目录 1.命令cut 2.命令sort 1.命令cut cut命令用于对文本进行切割 - 基本用法: 用法:cut [选项]... [文件]... 从每个文件中输出指定部分到标准输出. 长选项必须使用的参数对于短选项时也是必需使用的. -b, --bytes=列表 只选中指定的这些字节 -c, --characters=列表 只选中指定的这些字符 -d, --delimiter=分界符 使用指定分界符代替制表符作为区域分界 -f, --fields=LIST select only these