0.linux指令,按照名字搜索正在运行的进程:ps -ef grep | hive

1.将linux中的数据传入hdfs系统中:此时要使用上传日期作为路径,开始维护分区表的潜在条件${do_date}。

hdfs dfs -put /opt/module/app_log/app-${do_date}.log.lzo  /origin_data/yuntu/log/topic_start/${do_date}/

2.将hdfs中的数据导入hive管理的表中:注意加上分区条件partition(dt='${do_date}'),否则每此读表都会进行全表读取

load data inpath '/origin_data/yuntu/log/topic_start/${do_date}' into table yuntu.ods_start_log partition(dt='${do_date}');

3.注意启动hive条件的不同情况:

  1. 在DG中,可以直接执行hiveSQL语句,也可以用dfs管理hdfs
  2. 在linux系统下,可以使用hive -e "hiveSQL语句",也可以使用“hdfs dfs”管理hdfs
  3. 在脚本之下,需要为hive配置变量。比如
    #!/bin/bashHIVE=/usr/hive/apache-hive-3.1.2/bin/hive
    $hive -e "select * from a_table"

    在脚本中,需要为各种工具配置启动路径。但是hdfs不需要配置,lzop不需要配置。目前还看不清需要配置的条件。

  1. hive就是一个类数据库,里边有数据库和表,一样通过“库名.表名”调取信息。
  2. 可以先进入hive,像关系型数据库一样读取数据,也可以在linux下直接操控hive内部的数据
    1. “-e”不进入hive的交互窗口执行sql语句  hive -e "select id,name from demo.student;"

    2. “-f”执行脚本中sql语句。在stu.sql中写入 select * from demo.student
      hive -f /opt/student.sql 执行sql文件内的指令,打印表内数据
      或者
      hive -f /opt/student.sql  > /opt/module/datas/hive_result.txt 将带有表头的数据输入文本中

  3. 启动服务流程:
    1. 启动VM虚拟机(如果是本地linux系统就不需要启动虚拟机了)
    2. 通过xsehll客户端连接(连接上linux远程控制系统)
    3. start-all.sh 启动hadoop大数据平台 通过jps检查至少有五个组件(启动前先用JPS查看是不是已经启动了,以及你要看一下这个脚本内容)
    4. 新打开一个窗口 系统数仓工具hive的元数据库                                                            hive --service metastore -p 9803 &
      该系统会挂起
    5. 新打开一个窗口 启动hive客户端 出现hive (default)>这个说明启动成功
    6. 新打开一个窗口 启动hive提供图形化操作界面的服务hive2                                         hive --service hiveserver2
      该系统会挂起
    7. 启动DataGrip 数据库客户端工具
    8. 切换hive的执行引擎
      -- 查看hive的执行引擎
      set hive.execution.engine;
      -- 设置hive的执行引擎
      set hive.execution.engine=mr;
  4. hive数据类型:基本,集合,类型转化
    1. 十种基本数据类型:四种整形,单双浮点,字符串和字符数组,时间和布尔
    2. 集合数据类型:struct,map,array
      本地文本------------------------------------------------------
      陈小春,郑伊健_谢天华,jasper:3_baby:1,皇后大道_香港
      刘烨,章子怡_孙俪,诺一:8_霓娜:6,长安街_北京
      --------------------------------------------------------------
      创建表结构-----------------------------------------------------
      create table t_info(   -- 创一张表name string,  -- 名称 数据类型是字符串friends array<string>, -- 朋友 数据类型是数组children map<string,int>, -- 孩子 数据类型是集合address struct<street:string, city:string>  -- 住址 结构体
      )
      row format delimited fields terminated by ',' -- 行数据的分割符是,
      collection items terminated by '_' -- 集合分割符
      map keys terminated by ':'  -- 双列集合的分割符
      lines terminated by '\n'  -- 行分割符
      null defined as ''  -- 空值处理
      stored as textfile ; -- 文件的存储格式
      ---------------------------------------------------------------
      -- 向表中加载数据
      load data inpath '/hfy/t_info.txt' into table t_info;
      ---------------------------------------------------------------
      -- 查询表内数据-------------------------------------------------
      select * from t_info;
      select name, friends[0], friends[1], children['jasper'],children['诺一'],address.city,address.street from t_info;
      

      MAP,STRUCT和ARRAY里的元素间关系都可以用同一个字符表示,这里用“_”。

    3. cast('1' as int);如果强制类型转换失败,则会返回空值
  5. 向hive中导入一张表
    1. 建表,创立表结构,设置表和列的分隔符,
      完整的建表语句

      CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
      [(col_name data_type [COMMENT col_comment], ...)]
      [COMMENT table_comment]
      [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
      [CLUSTERED BY (col_name, col_name, ...)
      [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
      [ROW FORMAT row_format]
      [STORED AS file_format]
      [LOCATION hdfs_path]

      字段解释说明 
      (1)CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXISTS 选项来忽略这个异常。
      (2)EXTERNAL关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。
      (3)COMMENT:为表和列添加注释。
      (4)PARTITIONED BY创建分区表
      (5)CLUSTERED BY创建分桶表
      (6)SORTED BY不常用
      (7)ROW FORMAT 
      DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
              [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char] 
         | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
      用户在建表的时候可以自定义SerDe或者使用自带的SerDe。如果没有指定ROW FORMAT 或者ROW FORMAT DELIMITED,将会使用自带的SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的SerDe,Hive通过SerDe确定表的具体的列的数据。
      SerDe是Serialize/Deserilize的简称,目的是用于序列化和反序列化。
      (8)STORED AS指定存储文件类型
      常用的存储文件类型:SEQUENCEFILE(二进制序列文件)、TEXTFILE(文本)、RCFILE(列式存储格式文件)
      如果文件数据是纯文本,可以使用STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCEFILE。
      (9)LOCATION :指定表在HDFS上的存储位置。
      (10)LIKE允许用户复制现有的表结构,但是不复制数据。

    2. 进入linux,通过hdfs dfs -put将linxu中的文件导入hdfs中
      1. 进入linux中hive终端查看数据是否存入
      2. 通过浏览器进入hdfs管理页面查看文件是否存在http://192.168.114.129:9870/
    3. 通过load指令,将文件内的数据读取到表中。注意加载完成后源文件会被移动到hive下默认存放数据库的文件夹中。使用local关键词会从linux本地寻找文件,会复制一份到hive目录下warehouse
    4. 使用“create table student3  as select”可以从一张表中读取指定列进入新表。也可以使用location关键词在建立表结构时指定从哪里读取数据
  6. 在DG中可以使用linux指令,但需要去掉hdfg。也可以在linux中使用hadoop dfs -put。
  7. 外部表在删除后,仅删除表结构。数据扔在warehouse中。内部表drop后,数据连同文件夹一起删除
  8. 本部门使用的表创建为内部表,多部门使用的数据创建为外部表
  9. linux>      ps -ef grep | hive
  10. todolist
    1. 通过location上传,
    2. 导出请注意指定文件名,防止全覆盖自爆
    3. 仅支持增,不支持删改(不支持delete(都不支持),支持truncate(内外表有别),支持drop(都支持))
    4. 去看一下表分区相关的(我是指原始数据库)
  11. Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。如果指定的是local的数据,仍然会做复制。但失去truncate

  12. endHere

HIVE-启动服务-启动DG连接-迁移数据LINUX-HDFS-HIVE相关推荐

  1. hive 启动服务命令及连接

    启动元数据服务 ./hive --service metastore & 启动server ./hive --service hiveserver2 -hiveconf hive.server ...

  2. mysql启动服务但无法连接不上_mysql服务启动却连接不上两种解决办法

    这篇文章主要为大家详细介绍了mysql服务启动却连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 mysql服务启动,但是连接不上,如何解决? 登陆报错: root@localho ...

  3. cmd 顺序启动服务_未能连接一个Windows服务 怎么回事

    打开[运行],然后输入CMD:输入[NETSH WINSOCK RESET CATALOG]命令,然后重新启动[System Event Notification Service]服务:输入[NETS ...

  4. dubbo启动服务启动报错.UnsatisfiedDependencyException: Error creating bean with name '***': Un

    报错信息: 今天部署开发环境的时候这个问题弄了一下午,由于我本地启动是好的,然后部署到服务器老是启动不了,报如上错,后来经过排查发现是provider.xml和consumer.xml中的如下代码ve ...

  5. Hive中的数据库、表、数据与HDFS的对应关系

    1.hive数据库 我们在hive终端,查看数据库信息,可以看出hive有一个默认的数据库default,而且我们还知道hive数据库对应的是hdfs上面的一个目录,那么默认的数据库default到底 ...

  6. 带你手写基于 Spring 的可插拔式 RPC 框架(四)代理类的注入与服务启动

    上一章节我们已经实现了从客户端往服务端发送数据并且通过反射方法调用服务端的实现类最后返回给客户端的底层协议. 这一章节我们来实现客户端代理类的注入. 承接上一章,我们实现了多个底层协议,procoto ...

  7. 九、大数据技术之Hive

    一.Hive基本概念 1.1 什么是Hive 1) hive简介 Hive:由Facebook开源用于解决海量结构化日志的数据统计工具. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数 ...

  8. 大数据技术之Hive

    第1章 Hive入门 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提 ...

  9. windows2003路由和远程访问 试图连接到数据存储时出错

    windows2003路由和远程访问 , 启动时报错:  试图连接到数据存储时出错 解决方法: 启动: Workstation  服务即可 转载于:https://blog.51cto.com/nai ...

最新文章

  1. UE商城资源 Motion Symphony 运动匹配插件
  2. Java 学习笔记(4)——java 常见类
  3. 下一站:AlphaDrug?
  4. java创建二叉树并递归遍历二叉树
  5. python操作文件的库_Python使用pyshp库读取shapefile信息的方法
  6. RabbitMQ消费消息幂等性问题
  7. Spring与日志的整合
  8. FairMOT实时多目标跟踪
  9. 乐观锁和悲观锁_什么是悲观锁和乐观锁?
  10. 【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器
  11. 百度、WordPress纷纷宣布停用React
  12. python库声纹_针对亿级大规模声纹库检索,有哪些简洁、高效的算法?
  13. 机器学习之集成学习概述
  14. Egret + TiledMap 快速上手
  15. js浏览器数据库 IndexedDB Web SQL
  16. 计算方法 matlab,计算方法及其MATLAB实现
  17. 大学python教材课后答案_大学慕课2020年Python编程基础课后答案
  18. 花趣短视频源码淘宝客系统全开源版带直播带货带自营商城流量主小游戏
  19. 你为什么要离开上一家公司?
  20. MATLAB双目标定步骤

热门文章

  1. 购物商城html源码asp,购物商城 html
  2. springboot集成 security 更改中英文提示信息
  3. 【三种常见架构开发模式:MVC、MVP、MVVM】
  4. 计算机应届毕业生怎么获得BATJ实习转正机会呢?
  5. Java Web GIS 地理信息系统开发
  6. 工厂的生产管理系统,即时掌握车间生产动态
  7. Flink优化02--状态及Checkpoint调优
  8. 数据分析-np、pd常用函数
  9. linux 线程 pthread_t 和 线程 tid 的区别
  10. IOS 自动订阅以及恢复购买