`
linest
  • 浏览: 155640 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

hive 基础(1)

 
阅读更多
$hive -help

Usage: hive [--config confdir] [-hiveconf x=y]* [-i <init-filename>]*[<-f filename>|<-e query-string>] [-S]

  -u username
  -p [password]
  -i <filename>             init Sql file
  -e 'quoted query string'  Sql from command line
  -f <filename>             Sql from files
  -S                        Silent mode in interactive shell

-e and -f cannot be specified together. In the absence of these
options, interactive shell is started

-f 可以把命令写在文件里
-S 只输出最终结果


官方文档内容

建表
可以整表注释也可对单字段注释。partition为分区,并不属于数据部分,决定了存储目录结构。cluster为了优化性能,预先排列,方便快速查询。ASCII 001(ctrl-A) 默认字段分隔,换行为默认行分隔。

CREATE TABLE page_view(viewTime INT, userid BIGINT,
                    page_url STRING, referrer_url STRING,
                    friends ARRAY<BIGINT>, properties MAP<STRING, STRING>
                    ip STRING COMMENT 'IP Address of the User')
    COMMENT 'This is the page view table'
    PARTITIONED BY(dt STRING, country STRING)
    CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS
    ROW FORMAT DELIMITED
            FIELDS TERMINATED BY '1'
            COLLECTION ITEMS TERMINATED BY '2'
            MAP KEYS TERMINATED BY '3'
    STORED AS SEQUENCEFILE;




查看表和分区信息
加extended可以查看详细信息,里面有location:hdfs://可以看到文件存储路径
SHOW TABLES;
SHOW TABLES 'page.*';
SHOW PARTITIONS page_view;
DESCRIBE page_view;
DESCRIBE EXTENDED page_view;
DESCRIBE EXTENDED page_view PARTITION (ds='2008-08-08');



将文件中数据导入hive表
当文件中数据和表结构不一样时,先按文件格式建表,将文件put到表的路径下。
用select语句选出所需信息,插入到最终表。External关键字表示和文件独立。把表drop掉数据文件还在。
CREATE EXTERNAL TABLE page_view_stg(viewTime INT, userid BIGINT,
                    page_url STRING, referrer_url STRING,
                    ip STRING COMMENT 'IP Address of the User',
                    country STRING COMMENT 'country of origination')
    COMMENT 'This is the staging page view table'
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '44' LINES TERMINATED BY '12'
    STORED AS TEXTFILE
    LOCATION '/user/data/staging/page_view';

    hadoop dfs -put /tmp/pv_2008-06-08.txt /user/data/staging/page_view

    FROM page_view_stg pvs
    INSERT OVERWRITE TABLE page_view PARTITION(dt='2008-06-08', country='US')
    SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip
    WHERE pvs.country = 'US';




当文件格式和表格式一致,直接导入。

本地路径形式,加local关键字
LOAD DATA LOCAL INPATH {{/tmp/pv_2008-06-08_us.txt}} INTO TABLE page_view PARTITION(date='2008-06-08', country='US')


分布式集群路径
LOAD DATA INPATH '/user/data/pv_2008-06-08_us.txt' INTO TABLE page_view PARTITION(date='2008-06-08', country='US')


Join操作

tb1 数据
id      province
1       neimenggu
2       zhejiang
3       jiangsu
4       shandong
5       sichuan

tb2 数据
id      capital
2       hangzhou
3       nanjing
4       jinan
5       chengdu
6       kunming

select a.id,a.capital,b.province from tb1 a left outer join tb2 b on (a.id = b.id);

1       neimenggu       NULL
2       zhejiang        hangzhou
3       jiangsu         nanjing
4       shandong        jinan
5       sichuan         chengdu

select a.id,a.capital,b.province from tb1 a right outer join tb2 b on (a.id = b.id);

2       zhejiang        hangzhou
3       jiangsu         nanjing
4       shandong        jinan
5       sichuan         chengdu
NULL    NULL            kunming

select a.id,a.capital,b.province from tb1 a full outer join tb2 b on (a.id = b.id);

1       neimenggu       NULL
2       zhejiang        hangzhou
3       jiangsu         nanjing
4       shandong        jinan
5       sichuan         chengdu
NULL    NULL            kunming

select a.id,a.capital,b.province from tb1 a join tb2 b on (a.id = b.id);

2       zhejiang        hangzhou
3       jiangsu         nanjing
4       shandong        jinan
5       sichuan         chengdu

select a.id,a.capital from tb1 a left semi join tb2 b on (a.id = b.id);

2       zhejiang       
3       jiangsu       
4       shandong  
5       sichuan

总结:left outer join 左侧所有会出现  right outer join  右侧所有会出现
full outer join 两侧所有会出现  join 两侧共有的会出现
left semi join 在右侧出现过的,但只能select左侧属性,上述两侧属性均可select
分享到:
评论

相关推荐

    13 - 淘宝直播:内容话术有哪些怎么找话题能拥有人气.pdf

    13 - 淘宝直播:内容话术有哪些怎么找话题能拥有人气

    基于php程序设计课程大作业——基于PHP、MySQL的web端借还书系统、全部资料+详细文档+高分项目.zip

    【资源说明】 基于php程序设计课程大作业——基于PHP、MySQL的web端借还书系统、全部资料+详细文档+高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    立袋袋料码垛流水线sw2017全套技术资料100%好用.zip

    立袋袋料码垛流水线sw2017全套技术资料100%好用.zip

    基于springboot的大学生租房系统源码(java毕业设计完整源码+LW).zip

    用户登录大学生租房系统可以实现首页,房屋信息,房屋评价,公告资讯,个人中心,后台管理,意见反馈等进行相应操作,管理员可以更加方便的管理首页,个人中心,房主管理,用户管理,房屋类型管理,房屋信息管理,预约看房管理,定金留房管理,租赁订单管理,房屋评价管理等内容。 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    (174206604)python小游戏,源代码,点击直接下载

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    基于springboot的桥牌计分系统源码(java毕业设计完整源码).zip

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    基于go语言的聊天系统全部资料+详细文档.zip

    【资源说明】 基于go语言的聊天系统全部资料+详细文档.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    慧集通(DataLinkX)集成客户案例:水泥行业海运运输业务致远OA与畅捷通TCloud集成解决方案

    内容概要:文章介绍了慧集通集成平台在水泥行业海运运输业务中致远OA与畅捷通TCloud的集成方案,涵盖库存、销售、运输、财务等多个环节的数据互通与流程协同。重点介绍了通过慧集通数据集成平台实现的具体对接内容及其策略,旨在提高企业的信息化管理水平,减少人为差错,提升工作效率。 适用人群:企业信息化管理人员、IT项目负责人、ERP及OA系统的实施顾问和运维人员。 使用场景及目标:适用于希望改善业务与财务流程、降低人力成本、提升数据一致性和准确性的中小企业。帮助企业实现内部信息系统的一体化,提供了一个成功的参考案例。 其他说明:案例详细阐述了多个具体业务场景下致远OA与畅捷通TCloud的对接方法及效果验证,为企业数字化转型和信息化建设提供了宝贵的经验。

    基于matlab与fpga的图像处理教程

    基于matlab与fpga的图像处理教程

    (3171452)学生成绩管理系统(Java版)

    【学生成绩管理系统(Java版)】是一款基于Java Swing技术开发的应用程序,旨在为教育机构提供一个方便、高效的工具来管理学生的学习成绩。Java Swing是Java Standard Edition (Java SE)的一部分,提供了丰富的用户界面组件,使得开发者能够创建桌面应用程序。 在这款系统中,Java Swing的组件被充分利用,如JFrame(主窗口)、JPanel(面板)、JTable(表格)、JButton(按钮)等,构建出直观易用的图形用户界面。JFrame作为应用的主窗口,承载着所有其他组件。JPanel用于组织和分组不同的功能模块,比如添加、修改和删除学生的面板。JTable则用于显示学生列表和成绩,它允许用户进行排序、筛选数据。而JButton则用于触发各种操作,如保存、删除、查询等。 系统可能包含以下主要功能: 1. **数据录入**:管理员可以通过输入框和下拉菜单添加新的学生信息,包括姓名、学号、性别等,并将成绩录入到对应的表格中。 2. **数据编辑**:对于已有的学生记录,可以进行修改,如更改成绩或更新个人信息。 3. **数据查询**:支持通过

    基于springboot的学生考勤管理系统源码(java毕业设计完整源码+LW).zip

    系统主要包括首页,个人中心,学生管理,教师管理,班级信息管理,课程信息管理,签到信息管理,考勤信息管理,请假信息管理,考勤统计管理等功能模块。 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    F28004x 固件开发包用户指南

    F28004x 固件开发包用户指南

    基于Java Web应用开发课程设计-宾馆客房预订系统,使用Vue+SpringBoot+MySQL,有前台和中台管理页,均使用ElementUI、全部资料+详细文档+高分项目.zip

    【资源说明】 基于Java Web应用开发课程设计-宾馆客房预订系统,使用Vue+SpringBoot+MySQL,有前台和中台管理页,均使用ElementUI、全部资料+详细文档+高分项目.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

    【热力学】基于matlab二维有限元算法热扩散【含Matlab源码 10006期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于springboot的汉服推广网站源码(java毕业设计完整源码+LW).zip

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

    植物大作战软件挂机脚本,自动开始精英模式战斗(源码)

    植物大作战软件挂机脚本,自动开始精英模式战斗(源码) 使用说明 打开游戏后,选择好关卡 执行方式1 使用 Pycharm 打开此项目 打开 autoFight.py 文件,在代码编辑器中右键运行 执行方式2 在当前目录打开 cmd 命令 执行 python autoFight.py 执行方式3 创建 .bat 文件并编辑 内容如下: @echo off start cmd /k "python autoFight.py" 保存后,双击此文件执行 此方式也可将执行文件放置在桌面,需要修改 .bat 文件内容,增加切换目录命令,例如: @echo off start cmd /k "cd/d D:\workspace\python\python-plant-battle\ &&python autoFight.py" 停止脚本 Pycharm 执行的,可以按编辑器内的停止按钮 cmd 执行方式的,可以关闭 cmd 窗口 按 F8 按键停止,支持以上所有开启方式

    基于java+springboot+mysql+微信小程序的展柜设计公司平面布置小程序 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea、微信开发者工具 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat

    自动驾驶控制-基于运动学模型的LQR算法路径跟踪仿真 matlab和simulink联合仿真,运动学模型实现的lqr横向控制,可以跟踪双移线,五次多项式,以及其他各种自定义路径 效果如图,几乎0误

    自动驾驶控制-基于运动学模型的LQR算法路径跟踪仿真 matlab和simulink联合仿真,运动学模型实现的lqr横向控制,可以跟踪双移线,五次多项式,以及其他各种自定义路径。 效果如图,几乎0误差,双移线路径误差在0.05m以内。

    基于java+springboot+mysql+微信小程序的运动健康小程序 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea、微信开发者工具 数据库:MySql5.7以上 部署环境:maven 数据库工具:navicat

    基于springboot的音乐翻唱与分享平台源码(java毕业设计完整源码+LW).zip

    项目均经过测试,可正常运行! 环境说明: 开发语言:java JDK版本:jdk1.8 框架:springboot 数据库:mysql 5.7/8 数据库工具:navicat 开发软件:eclipse/idea

Global site tag (gtag.js) - Google Analytics