当前位置: 首页 > news >正文

重庆网站整合营销郑州网站优化汉狮网络

重庆网站整合营销,郑州网站优化汉狮网络,佛山网页网站设计,网站后台打开慢目录 Hive数据库操作详解 创建数据库 1#xff09;语法 2#xff09;案例 查询数据库 1#xff09;展示所有数据库 #xff08;1#xff09;语法 #xff08;2#xff09;案例 2#xff09;查看数据库信息 #xff08;1#xff09;语法 #xff08;2#…目录 Hive数据库操作详解 创建数据库 1语法 2案例 查询数据库 1展示所有数据库 1语法 2案例 2查看数据库信息 1语法 2案例 修改数据库 1语法 2案例 删除数据库 1语法 2案例 切换当前数据库 1语法 Hive表操作详解 创建表 语法 1普通建表 1完整语法 2关键字说明 2Create Table As SelectCTAS建表 3Create Table Like语法 案例 1内部表与外部表 1内部表 2外部表 2SERDE和复杂数据类型 3create table as select 和 create table like 1create table as select 2create table like 查看表 1展示所有表 1语法 2案例 2查看表信息 1语法 2案例 修改表 1重命名表 1语法 2案例 2修改列信息 1语法 2案例 删除表 1语法 2案例 清空表 1语法 2案例 Hive数据库操作详解 创建数据库 1语法 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)]; 2案例 创建一个数据库不指定路径 hive (default) create database db_hive1; 注若不指定路径其默认路径为 ${hive.metastore.warehouse.dir}/database_name.db 创建一个数据库指定路径 hive (default) create database db_hive2 location /db_hive2; 创建一个数据库带有 dbproperties hive (default) create database db_hive3 with dbproperties(create_date2022-11-18); 查询数据库 1展示所有数据库 1语法 SHOW DATABASES [LIKE identifier_with_wildcards]; 注LIKE 通配表达式说明* 表示任意个任意字符| 表示或的关系。 2案例 hive show databases like db_hive*; OK db_hive_1 db_hive_2 2查看数据库信息 1语法 DESCRIBE DATABASE [EXTENDED] db_name; 2案例 查看基本信息 hive desc database db_hive3; OK db_hive hdfs://hadoop12:8020/user/hive/warehouse/db_hive.db lzl USER 查看更多信息 hive desc database extended db_hive3; OK db_name comment location owner_name owner_type parameters db_hive3 hdfs://hadoop12:8020/user/hive/warehouse/db_hive3.db lzl USER {create_date2022-11-18} 修改数据库 用户可以使用 ALTER DATABASE 命令修改数据库某些信息其中能够修改的信息包括 dbproperties、location、owner user。需要注意的是修改数据库 location不会改变当前已有表的路径信息而只是改变后续创建的新表的默认的父目录。 1语法 修改 dbproperties ALTER DATABASE database_name SET DBPROPERTIES (property_nameproperty_value, ...); 修改 location ALTER DATABASE database_name SET LOCATION hdfs_path; 修改 owner user ALTER DATABASE database_name SET OWNER USER user_name; 2案例 修改 dbproperties hive ALTER DATABASE db_hive3 SET DBPROPERTIES (create_date2022-11-20); 删除数据库 1语法 DROP DATABASE [IF EXISTS] database_name [RESTRICT|CASCADE]; 注RESTRICT严格模式若数据库不为空则会删除失败默认为该模式。CASCADE级联模式若数据库不为空则会将库中的表一并删除。 2案例 删除空数据库 hive drop database db_hive2; 删除非空数据库 hive drop database db_hive3 cascade; 切换当前数据库 1语法 USE database_name; Hive表操作详解 创建表 语法 1普通建表 1完整语法 CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]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] [TBLPROPERTIES (property_nameproperty_value, ...)]; 2关键字说明 TEMPORARY   临时表该表只在当前会话可见会话结束表会被删除。 EXTERNAL重点   外部表与之相对应的是内部表管理表。管理表意味着Hive会完全接管该表包括元数据和HDFS中的数据。而外部表则意味着Hive只接管元数据而不完全接管HDFS中的数据。 data_type重点   Hive中的字段类型可分为基本数据类型和复杂数据类型。   基本数据类型如下 Hive说明定义tinyint1byte有符号整数smallint2byte有符号整数int4byte有符号整数bigint8byte有符号整数boolean布尔类型true或者falsefloat单精度浮点数double双精度浮点数decimal十进制精准数字类型decimal(16,2)varchar字符序列需指定最大长度最大长度的范围是[1,65535]varchar(32)string字符串无需指定最大长度timestamp时间类型binary二进制数据复杂数据类型如下 类型说明定义取值array数组是一组相同类型的值的集合arraystringarr[0]mapmap是一组相同类型的键-值对集合mapstring, intmap[key]struct结构体由多个属性组成每个属性都有自己的属性名和数据类型structid:int, name:stringstruct.id注类型转换   Hive的基本数据类型可以做类型转换转换的方式包括隐式转换以及显示转换。   方式一隐式转换   具体规则如下   a. 任何整数类型都可以隐式地转换为一个范围更广的类型如tinyint可以转换成intint可以转换成bigint。   b. 所有整数类型、float和string类型都可以隐式地转换成double。   c. tinyint、smallint、int都可以转换为float。   d. boolean类型不可以转换为任何其它的类型。   详情可参考Hive官方说明Allowed Implicit Conversionshttps://tongyi.aliyun.com/qianwen/?sessionId05dafa94c8504e1faa491422eb8defe2#LanguageManualTypes-AllowedImplicitConversions   方式二显示转换   可以借助cast函数完成显示的类型转换   a. 语法 cast(expr as type) b. 案例 hive (default) select 1 2, cast(1 as int) 2; _c0 _c1 3.0 3 PARTITIONED BY重点   创建分区表 CLUSTERED BY ... SORTED BY .. INTO ... BUCKETS重点   创建分桶表 ROW FORMAT重点   指定SERDESERDE是Serializer and Deserializer的简写。Hive使用SERDE序列化和反序列化每行数据。详情可参考 Hive-Serde。语法说明如下   语法一 DELIMITED关键字表示对文件中的每个字段按照特定分割符进行分割其会使用默认的SERDE对每行数据进行序列化和反序列化。 ROW FORMAT DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char] [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char] [NULL DEFINED AS char] 注 FIELDS TERMINATED BY列分隔符COLLECTION ITEMS TERMINATED BYmap、struct和array中每个元素之间的分隔符MAP KEYS TERMINATED BYmap中的key与value的分隔符LINES TERMINATED BY行分隔符语法二 SERDE关键字可用于指定其他内置的SERDE或者用户自定义的SERDE。例如JSON SERDE可用于处理JSON字符串。 ROW FORMAT SERDE serde_name [WITH SERDEPROPERTIES (property_nameproperty_value, property_nameproperty_value, ...)] STORED AS重点   指定文件格式常用的文件格式有textfile默认值sequence fileorc file、parquet file等等。 LOCATION   指定表所对应的HDFS路径若不指定路径其默认值为 ${hive.metastore.warehouse.dir}/db_name.db/table_name TBLPROPERTIES   用于配置表的一些KV键值对参数 2Create Table As SelectCTAS建表 该语法允许用户利用select查询语句返回的结果直接建表表的结构和查询语句的结构保持一致且保证包含select查询语句返回的内容。 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name [COMMENT table_comment] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_nameproperty_value, ...)] [AS select_statement] 3Create Table Like语法 该语法允许用户复刻一张已经存在的表结构与上述的CTAS语法不同该语法创建出来的表中不包含数据。 CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name [LIKE exist_table_name] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_nameproperty_value, ...)] 案例 1内部表与外部表 1内部表 Hive中默认创建的表都是内部表有时也被称为管理表。对于内部表Hive会完全管理表的元数据和数据文件。 创建内部表如下 create table if not exists student(id int, name string ) row format delimited fields terminated by \t location /user/hive/warehouse/student; 准备其需要的文件如下注意字段之间的分隔符。 [lzlhadoop12 datas]$ vim /opt/module/datas/student.txt 1001 student1 1002 student2 1003 student3 1004 student4 1005 student5 1006 student6 1007 student7 1008 student8 1009 student9 1010 student10 1011 student11 1012 student12 1013 student13 1014 student14 1015 student15 1016 student16 上传文件到Hive表指定的路径 [lzlhadoop12 datas]$ hadoop fs -put student.txt /user/hive/warehouse/student 删除表观察数据HDFS中的数据文件是否还在 hive (default) drop table student; 2外部表 外部表通常可用于处理其他工具上传的数据文件对于外部表Hive只负责管理元数据不负责管理HDFS中的数据文件。 创建外部表如下 create external table if not exists student(id int, name string ) row format delimited fields terminated by \t location /user/hive/warehouse/student; 上传文件到Hive表指定的路径 [lzlhadoop12 datas]$ hadoop fs -put student.txt /user/hive/warehouse/student 删除表观察数据HDFS中的数据文件是否还在 hive (default) drop table student; 2SERDE和复杂数据类型 本案例重点练习SERDE和复杂数据类型的使用。 若现有如下格式的JSON文件需要由Hive进行分析处理请考虑如何设计表 注以下内容为格式化之后的结果文件中每行数据为一个完整的JSON字符串。 {name: dasongsong,friends: [bingbing,lili],students: {xiaohaihai: 18,xiaoyangyang: 16},address: {street: hui long guan,city: beijing,postal_code: 10010} } 我们可以考虑使用专门负责JSON文件的JSON Serde设计表字段时表的字段与JSON字符串中的一级字段保持一致对于具有嵌套结构的JSON字符串考虑使用合适复杂数据类型保存其内容。最终设计出的表结构如下 hive create table teacher (name string,friends arraystring,students mapstring,int,address structcity:string,street:string,postal_code:int ) row format serde org.apache.hadoop.hive.serde2.JsonSerDe location /user/hive/warehouse/teacher; 创建该表并准备以下文件。注意需要确保文件中每行数据都是一个完整的JSON字符串JSON SERDE才能正确地处理。 [lzlhadoop12 datas]$ vim /opt/module/datas/teacher.txt {name:dasongsong,friends:[bingbing,lili],students:{xiaohaihai:18,xiaoyangyang:16},address:{street:hui long guan,city:beijing,postal_code:10010}} 上传文件到Hive表指定的路径 [lzlhadoop12 datas]$ hadoop fs -put teacher.txt /user/hive/warehouse/teacher 尝试从复杂数据类型的字段中取值 3create table as select 和 create table like 1create table as select hive create table teacher1 as select * from teacher; 2create table like hive create table teacher2 like teacher; 查看表 1展示所有表 1语法 SHOW TABLES [IN database_name] LIKE [identifier_with_wildcards]; 注LIKE 通配表达式说明* 表示任意个任意字符| 表示或的关系。 2案例 hive show tables like stu*; 2查看表信息 1语法 DESCRIBE [EXTENDED | FORMATTED] [db_name.]table_name 注EXTENDED展示详细信息FORMATTED对详细信息进行格式化的展示 2案例 查看基本信息 hive desc stu; 查看更多信息 hive desc formatted stu; 修改表 1重命名表 1语法 ALTER TABLE table_name RENAME TO new_table_name 2案例 hive (default) alter table stu rename to stu1; 2修改列信息 1语法 增加列   该语句允许用户增加新的列新增列的位置位于末尾。 ALTER TABLE table_name ADD COLUMNS (col_name data_type [COMMENT col_comment], ...) 更新列   该语句允许用户修改指定列的列名、数据类型、注释信息以及在表中的位置。 ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name] 替换列   该语句允许用户用新的列集替换表中原有的全部列。 ALTER TABLE table_name REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...) 2案例 查询表结构 hive (default) desc stu; 添加列 hive (default) alter table stu add columns(age int); 查询表结构 hive (default) desc stu; 更新列 hive (default) alter table stu change column age ages double; 替换列 hive (default) alter table stu replace columns(id int, name string); 删除表 1语法 DROP TABLE [IF EXISTS] table_name; 2案例 hive (default) drop table stu; 清空表 1语法 TRUNCATE [TABLE] table_name 注意TRUNCATE 只能清空管理表不能删除外部表中数据。 2案例 hive (default) truncate table student;
http://www.hkea.cn/news/14578613/

相关文章:

  • 自己有服务器怎么搭建网站图片展示模块网站做一个多少钱
  • 做公司网站要提供什么网络销售网站设置
  • 句容建设局网站合肥网站推广优化公司
  • 莱州网站建设包年多少钱阿里巴巴国际站怎么开店
  • 网站服务器租金php mysql wordpress
  • 做搜狗网站排名平谷微网站建设
  • 有没有做试题的网站河北项目网在建项目
  • 宁夏网站建设电话c 做网站好嘛
  • 海南三亚做网站建设网站的必要性
  • seo推广宣传东莞seo网络推广
  • 网站建设前台后台用dede做的网站
  • 网站规划书包括哪些内容专业建站开发
  • php手机网站制作赶集网租房个人房源
  • 企业网站怎么做的湖南招聘信息网官网
  • 阜阳做网站的商户模板做网站
  • 云服务器上放多个网站早痿阳泄怎么治疗最快
  • 做企业宣传网站wordpress apahce 静态 windows
  • 网站建设指南金口河移动网站建设
  • 网站图片如何做缓存武义住房和城乡建设局网站
  • 公众平台如何做网站婚庆策划公司的商业模式
  • 自己电脑怎么做网站服务器网站详情怎么做的
  • 学做网站记不住代码新媒体营销岗位职责
  • 企业网站建设的服务类型有哪些为什么我的网站百度搜不到
  • 加猛挣钱免费做网站软件加盟
  • 网站的关键词怎么设置爱情网站设计
  • 广州做大型网站建设什么是网站地址
  • 品牌网站建设大概费用网站如何做网页查询
  • 怎么创办网站图片展示型网站
  • swiper做的全屏网站广州网络推广定制
  • 连云港建设工程安全网站建站工具 ip