精华内容
下载资源
问答
  • 我理解的hive就是执行sql命令的一个东西,最终执行的sql命令都会映射到hadoop的hdfs文件系统,影响...(3)bucket桶的概念,基于这三个概念影响其sql语句,感觉hadoop最强大的是其mapreduce功能,map将大任务分解为

    我理解的hive就是执行sql命令的一个东西,最终执行的sql命令都会映射到hadoop的hdfs文件系统,影响hadoop中存储的文件内容,hive sql和mysql sql的区别是具有几个不同的概念出来(1)内部表和外部表(2)partition分区的概念

    (3)bucket桶的概念,基于这三个概念影响其sql的语句,感觉hadoop最强大的是其mapreduce功能,map将大任务分解为小任务,reduce将小任务处理的结果合在一起,实现了利用多台小机器并行处理增快大数据处理任务的目的。hadoop不上部署在一台机器上的,而是部署在很多机器一个集群上的。


    启用hive: 在安装hive的机器上面打hive即可进入hive 命令

    查看hadoop的文件: 我的数据库名称是wzz.db,这是我的数据库在hadoop文件系统的实际存储地址:

    hadoop fs -ls /user/hive/warehouse/wzz.db

    查看hadoop日志:注意你通过java连接的是哪台机器,你的日志就存储在哪台机器上面,/var/log/hive下面的 hadoop-cmf-hive-HIVESERVER2-bg-slave1.cafintech.test.log.out


    一.新建内部表和外部表

    内部表和外部表的区别:

    1.导入数据到外部表,数据并不一定存储在hadoop的仓库里面,若在定义外部表时指定了location则存储数据到自定义的地址,内部表则不能自定义数据存储地址。

    2.drop表时




    展开全文
  • explode 功能:将单列的array或者map内容转化为多行 实例: tanle内容: SELECT explode(myCol) AS myNewCol FROM myTable; 结果: 注意事项

    explode

    功能:将单列的array或者map内容转化为多行

    实例:

    tanle内容:
    在这里插入图片描述

    SELECT explode(myCol) AS myNewCol FROM myTable;
    

    结果:
    在这里插入图片描述

    注意事项

    1. 不支持函数嵌套
    2. 不能和group by、sort by 和cluster by一起使用
    展开全文
  • hive SQL语句执行过程

    2020-01-09 17:44:28
    hive SQL语句执行过程 背景了解: hive数仓数据存储于Hadoop大数据框架的HDFS文件系统中,以文件的方式存储,hive是建立在Hadoop之上的数仓工具,hive将文件数据映射成结构性数据-表。 了解hive SQL语句: hive SQL...

    hive SQL语句执行过程

    背景了解:
    hive数仓数据存储于Hadoop大数据框架的HDFS文件系统中,以文件的方式存储,hive是建立在Hadoop之上的数仓工具,hive将文件数据映射成结构性数据-表。

    了解hive SQL语句:
    hive SQL语句是在hive上执行的类SQL语句,可以通过hive将hive SQL语句转换成MapReduce程序操作数据,而不必开发专门的应用程序。

    示意图:
    hive SQL语句执行过程图-原创-盗版必究
    从示意图可出执行过程基本可分为两部分:hive SQL语句转换成执行计划部分、按执行计划实际操作数据部分。
    hive SQL语句转换成执行计划部分:
    hive SQL语句转换成执行计划
    解析:
    1.客户从hive客户端输入一串hive SQL代码。
    2.解析器解读hive SQL语句,辨别语法语序,抛出错误,生成语法树。
    3.编译器将语法树转换成服务器可以看懂的操作符,生成执行计划。
    4.优化器向hive数仓元数据库发出请求获取相对应表的元数据信息,根据元数据信息对执行计划进行优化。

    按执行计划实际操作数据部分:
    执行计划操作数据
    解析:
    1.hive SQL代码生成的执行计划由一个个执行步骤按先后执行顺序所组成,执行步骤对应的是mapreduce job。
    2.按执行顺序执行Mr job,Mr job又分为map阶段和reduce阶段,map阶段获取文件数据,将文件数据划分到多个map程序做数据统计生成对应键值对(key-value),由文件大小、文件数量、块分割大小决定划分的map数,map阶段完成后会生成文件,将结果数据存储在里面,map数有多少生成的文件就有多少。
    3.在进入reduce阶段之前还有个Shuffle阶段,负责将map阶段输出文件内的键值对key值进行排序,将同一个key值放入同一个reduce程序中。
    4.reduce阶段是获取map阶段输出的文件,将数据做进一步的合并统计处理,而reduce数由集群设置单个reduce可处理的最大数据来设置的,map端输出的数据量若是大于单个reduce最大数据量,则新增reduce。
    5.到此reduce阶段结束会生成数据文件,文件数和reduce数是一样的,接下来就是讲输出文件返回给用户或者作为下一个Mr job执行的输入文件。

    该文章是作者对该知识点自己的理解,若理解有误,欢迎指正!

    展开全文
  • 各种sql语句hadoop pig中的实现

    千次阅读 2013-02-20 14:03:48
    我这里以Mysql 5.1.x为例,Pig的版本是0.8  同时我将数据放在了两个文件,存放在/tmp/data_file_1和/tmp/data_file_2中.文件内容如下:  tmp_file_1: Txt代码  zhangsan 23 1  ...meinv

    我这里以Mysql 5.1.x为例,Pig的版本是0.8

        同时我将数据放在了两个文件,存放在/tmp/data_file_1和/tmp/data_file_2中.文件内容如下:

        tmp_file_1:

    Txt代码   收藏代码
    1. zhangsan    23  1  
    2. lisi    24  1  
    3. wangmazi    30  1  
    4. meinv   18  0  
    5. dama    55  0  

       tmp_file_2:

    Txt代码   收藏代码
    1. 1   a  
    2. 23  bb  
    3. 50  ccc  
    4. 30  dddd  
    5. 66  eeeee  
     

           1.从文件导入数据

              1)Mysql (Mysql需要先创建表).

                 CREATE TABLE TMP_TABLE(USER VARCHAR(32),AGE INT,IS_MALE BOOLEAN);

                 CREATE TABLE TMP_TABLE_2(AGE INT,OPTIONS VARCHAR(50));   -- 用于Join

                 LOAD DATA LOCAL INFILE '/tmp/data_file_1'  INTO TABLE TMP_TABLE ;

                 LOAD DATA LOCAL INFILE '/tmp/data_file_2'  INTO TABLE TMP_TABLE_2;

              2)Pig

                  tmp_table = LOAD '/tmp/data_file_1' USING PigStorage('\t') AS (user:chararray, age:int,is_male:int);

                  tmp_table_2= LOAD '/tmp/data_file_2' USING PigStorage('\t') AS (age:int,options:chararray);

     

          2.查询整张表

             1)Mysql

                SELECT * FROM TMP_TABLE;

             2)Pig

                DUMP tmp_table;

          3. 查询前50行

             1)Mysql

                SELECT * FROM TMP_TABLE LIMIT 50;

             2)Pig

                 tmp_table_limit = LIMIT tmp_table 50;

                 DUMP tmp_table_limit; 

         4.查询某些列

            1)Mysql

                SELECT USER FROM TMP_TABLE;

            2)Pig

                tmp_table_user = FOREACH tmp_table GENERATE user;

                DUMP tmp_table_user;

     

        5. 给列取别名

            1)Mysql

               SELECT USER AS USER_NAME,AGE AS USER_AGE FROM TMP_TABLE;

            2)Pig

               tmp_table_column_alias = FOREACH tmp_table GENERATE user AS user_name,age AS user_age;

               DUMP tmp_table_column_alias; 

     

         6.排序

            1)Mysql

               SELECT * FROM TMP_TABLE ORDER BY AGE;

            2)Pig

                tmp_table_order = ORDER tmp_table BY age ASC;

                DUMP tmp_table_order;

     

         7.条件查询

            1)Mysql

                SELECT * FROM TMP_TABLE WHERE AGE>20;

            2) Pig

                tmp_table_where = FILTER tmp_table by age > 20;

                DUMP tmp_table_where;

     

         8.内连接Inner Join

            1)Mysql

               SELECT * FROM TMP_TABLE A JOIN TMP_TABLE_2 B ON A.AGE=B.AGE;

            2)Pig

                tmp_table_inner_join = JOIN tmp_table BY age,tmp_table_2 BY age;

                DUMP tmp_table_inner_join;

        9.左连接Left  Join

           1)Mysql

               SELECT * FROM TMP_TABLE A LEFT JOIN TMP_TABLE_2 B ON A.AGE=B.AGE;

           2)Pig

              tmp_table_left_join = JOIN tmp_table BY age LEFT OUTER,tmp_table_2 BY age;

              DUMP tmp_table_left_join;

        10.右连接Right Join

             1)Mysql

                SELECT * FROM TMP_TABLE A RIGHT JOIN TMP_TABLE_2 B ON A.AGE=B.AGE;

             2)Pig

                tmp_table_right_join = JOIN tmp_table BY age RIGHT OUTER,tmp_table_2 BY age;

                DUMP tmp_table_right_join;

        11.全连接Full Join

             1)Mysql

                SELECT * FROM TMP_TABLE A  JOIN TMP_TABLE_2 B ON A.AGE=B.AGE

                    UNION SELECT * FROM TMP_TABLE A LEFT JOIN TMP_TABLE_2 B ON A.AGE=B.AGE

                    UNION SELECT * FROM TMP_TABLE A RIGHT JOIN TMP_TABLE_2 B ON A.AGE=B.AGE;

             2)Pig

                tmp_table_full_join = JOIN tmp_table BY age FULL OUTER,tmp_table_2 BY age;

                DUMP tmp_table_full_join;

     

         12.同时对多张表交叉查询

              1)Mysql

                 SELECT * FROM TMP_TABLE,TMP_TABLE_2;

              2)Pig

                 tmp_table_cross = CROSS tmp_table,tmp_table_2;

                 DUMP tmp_table_cross;

     

         13.分组GROUP BY

             1)Mysql

                SELECT * FROM TMP_TABLE GROUP BY IS_MALE;

             2)Pig

                tmp_table_group = GROUP tmp_table BY is_male;

                DUMP tmp_table_group;

          14.分组并统计

               1)Mysql

                 SELECT IS_MALE,COUNT(*) FROM TMP_TABLE GROUP BY IS_MALE;

               2)Pig

                  tmp_table_group_count = GROUP tmp_table BY is_male;

                  tmp_table_group_count = FOREACH tmp_table_group_count GENERATE group,COUNT($1);

                  DUMP tmp_table_group_count;

          15.查询去重DISTINCT

               1)MYSQL

                  SELECT DISTINCT IS_MALE FROM TMP_TABLE;

               2)Pig

                  tmp_table_distinct = FOREACH tmp_table GENERATE is_male;

                  tmp_table_distinct = DISTINCT tmp_table_distinct;

                  DUMP  tmp_table_distinct;

     

    展开全文
  • Hadoop中查看Hive执行的SQL语句   1:点开hadoop yarn的监控界面 http://ip:8088/(默认的) 如下图:       点击: 进入: 点击红线部分进入: 再点击红线部分进入如...
  • 解析sql语句工具

    千次阅读 2020-05-02 17:45:00
    说明:解解析sql语句工具析工具可以解析出sql语句 语法、库表、条件 下面示例只是解析 库表的示例,其他解析需要再分析解析规范 使用: 一、mvaen引用 <!--解析sql语句使用jar包 start--> <dependency> ...
  • hivesql语句练习

    2018-12-06 18:42:32
    #(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES; 6. Jline包版本不一致的问题...
  • 使用hiveF对sql语句的封装

    千次阅读 2015-10-19 17:42:44
    使用hiveF对sql语句的封装
  • hive分区、分桶、sql语句

    千次阅读 2018-01-16 18:31:24
    hive分区、分桶、sql语句 1. sql语句 1.1 创建表 CREATE TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY ...
  • Hive简单SQL语句描述

    千次阅读 2015-04-21 14:39:50
    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的...
  • Hive的sql语句

    千次阅读 2016-06-27 16:38:42
    化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需 要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQ
  • 毕竟可以使用类似sql的标准语句来操作HBase想来还是满爽的事情。不过只能是shell。 首先,下载安装phoenix。 我们先到apache来安装 在apache找到目前对应的phoenix。由于我们的HBase版本是1.2.4,所以选择了...
  • 【Hive】SQL语句大全

    千次阅读 多人点赞 2020-04-30 08:59:17
    文章目录库操作创建数据库查询数据库修改数据库删除数据库表操作创建表查看表修改表删除表内部表(管理表)和外部表两者的区别互相转换分区表创建分区表添加...RlikeDistinct 去重Group By 分组查询Having 语句Join 语...
  • pig中各种sql语句的实现

    千次阅读 2013-11-19 10:39:28
    pig中各种sql语句的实现  Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。使用pig可以在处理...
  • hadoop Hive sql 总结

    2017-02-22 16:28:12
    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为...
  • hive&...FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMe...
  • Hive编译SQL语句

    2016-12-02 22:28:45
    org.apache.hadoop.hive.ql.Driver类 public int compile(String command, boolean resetTaskIds, boolean deferClose)方法 1. 语法分析。 ParseDriver pd = new ParseDriver(); ASTNode tree = pd.parse(command,
  • Hive执行SQL语句

    千次阅读 2016-12-02 22:29:51
    org.apache.hadoop.hive.ql.Driver类 public int execute(boolean deferClose) 方法 1. 从Plan中统计MR/Tez/Spark Task数量 int mrJobs = Utilities.getMRTasks(plan.getRootTasks()).size(); int jobs = mrJobs
  • 现在Hive执行结果会存储到HDFS上,这些文件是一些SQL语句,我们可以通过Spark读取这些文本文件,然后导入到MySQL中,下面是实现了如何通过Spark来读取HDFS,通过在Parition中获取数据库的连接,并把操作MySQL数据库...
  • Greenplum SQL语句开发

    千次阅读 2017-03-09 14:32:40
    Sql开发中最基本的规范要求: 1.代码行清晰、整齐、层次分明、结构性强,易于阅读; 2.代码中应具备必要的注释以增强代码的可读性和可维护性; 3.代码应充分考虑执行效率,保证代码的高效性; 2.1查看表字段名或...
  • Hive写SQL语句

    千次阅读 2017-09-19 07:24:23
    load data local inpath “/home/hadoop/moviedata/ratings.dat” into table ratings; create table movies(MovieID BigInt, Title String, type String) row format delimited fields terminated by “%”; ...
  • HadoopHive基础sql语法

    2021-02-01 16:38:49
    是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为...
  • HIVE-SQL操作语句

    2013-01-06 15:55:16
    hadoop数据库中的hive技术,支持一般SQL语句操作数据库,但是也有部分不同,文档中总结了常用的一些操作指令。
  • hive sql语句转换成mapreduce

    千次阅读 2018-08-15 13:06:32
    Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键...
  • 清理disuz垃圾用户信息SQL语句

    千次阅读 2011-02-12 10:43:00
    <br />   <br />    -- hadoop开头的是UCenter表,cdb开头的是BBS部分的表   -- 搜索出所有垃圾用户名: select `hadoop_members`.`username` from `hadoop_members` ...
  • Hadoop Hive sql语法详解

    千次阅读 2016-06-10 16:24:59
    化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需 要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQ

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,535
精华内容 15,014
关键字:

hadoopsql语句