什么是高端网站建设广州哪里有学做网站的

web/2025/9/26 16:36:48/文章来源:
什么是高端网站建设,广州哪里有学做网站的,目前做网站框架,做公司网站要素1#xff0c;排序处理 1.1cluster by排序 #xff0c;在Hive中使用order by排序时是全表扫描#xff0c;且仅使用一个Reduce完成。 在海量数据待排序查询处理时#xff0c;可以采用【先分桶再排序】的策略提升效率。此时#xff0c; 就可以使用cluster by语法。 cluster…1排序处理 1.1cluster by排序 在Hive中使用order by排序时是全表扫描且仅使用一个Reduce完成。 在海量数据待排序查询处理时可以采用【先分桶再排序】的策略提升效率。此时 就可以使用cluster by语法。 cluster by语句可以指定根据某字段将数据进行分桶在桶内再根据这个字段进行正序排序 通俗地说就是根据一个字段来排序先分桶再排序。[分桶虚拟自动处理] cluster by语句的语法 select * from 表名 cluster by 字段名; # 正序排序– 程序中动态设定reduce值 set mapreduce.job.reduces 桶数; – 查看reduce值 set mapreduce.job.reduces; 当然了若数据量较小比如小于TBHive处理不占优势。 -- 查看reduce值 set mapreduce.job.reduces; -- 默认值是-1 set mapreduce.job.reduces -1; -- order by select * from tb_student order by score; -- 数据量小: 效率高, 没有分桶操作 -- cluster by select * from tb_student cluster by score; -- 海量数据查询: 排序效率高 -- 看运行时间 -- 1.先直接测试order by与cluster by操作: 排序效果一样; 2.设定桶数, 看运行时间当要先分桶再排序处理时可以使用hive的cluster by 一般地cluster by仅对字段做正序排序即升序。 1.2distribute bysort by排序 先分组再排序的使用 select * from 表名 distribute by 字段名 sort by 字段名;说明 1distribute by表示先按字段名执行分组 2sort by用于在分组内负责对某字段进行排序 3当且仅当distribute by与sort by字段名一致时等同于cluster by效果。 创建分桶表设定排序字段 create [external] table 表名( 字段名 字段类型 [comment 注释], 字段名 字段类型 [comment 注释], ... ) [clustered by (字段名) sorted by (字段名) into 分桶数 buckets] [row format delimited fields terminated by 指定分隔符];2.排序操作 ①order by 普通排序 ②over(order by ^) 窗口函数 ③cluster by 先分桶在排序 ④distribute by sort by 先分表后排序 ⑤clustered by sorted by 创建分桶表自动排序 -- 1 select * from tb_student distribute by gender sort by score; -- 3 create table tb_bucket_student( id int, name string, gender string, score double ) clustered by (gender) sorted by (score) into 3 buckets row format delimited fields terminated by ,; show tables ; -- 4 -- 5 load data inpath /itheima/student_data.txt into table tb_bucket_student; -- 导入数据: hdfs select * from tb_bucket_student;1distribute bysort by语句配合一起使用时就是先分后排序的思想观 念 2注意当要提升对海量数据的访问效率时一般可以对表进行分区或分 桶。 2.正则表达式 使用场景在网站注册新用户时对用户名、手机号等的验证就使用了正则表达式。 在Hive中可以使用RLIKE进行正则匹配 select *|字段名1,字段名2,... from 表名 where 字段名 rlike 正则内容; select * from tb_orders where userAddress rlike .*广东省.* and totalMoney 5000; -- 5 select * from tb_orders where userAddress rlike .*省 .*市 .*区.*;正则就是一段特殊的字符串而正则语法规范需要多实践、多思考才能更加熟练化。 3union与CTE语法 3.1union联合 连接查询的特点是多个表进行【横向】合并在一起 也可以完成纵向合并或追加数据操作。 union联合可用于将多个SELECT语句的结果集组合形成单个完全结果集。 一起看看union联合语法 select 语句1 union [ all | distinct ] select 语句2 [ union select 语句 ...];说明 1union all不对数据内容进行去重默认使用union all 2union distinct可实现数据去重但必须添加distinct关键字 3每个select语句返回的列数量、名称必须一致否则将引发字段架构错误。 -- 显示所有 select * from tb_course1 union all select * from tb_course2; select * from tb_course1 union select * from tb_course2; -- 默认去重 -- 去掉重复 select * from tb_course1 union distinct select * from tb_course2;-- 先联合, 再根据条件筛选数据 select * from (select * from tb_course1 union all select * from tb_course2) temp_course where name in (周杰轮, 王力鸿); -- where name周杰轮 or name王力鸿;1union可以用于将多个SELECT结果集合并但要注意结果集的字段名、类型等架构要一致 当使用union语句完成自动去除数据重复值时记得设定为union distinct 3.2CTE语法 CTECommon Table Expressions的缩写公用表表达式表示临时结果集。 CTE是一个在查询中定义的临时命名结果集并可在from子句中使用它。语法 with 别名 as (select查询语句) [别名 as (select查询语句), ...] select查询语句;说明 1每个CTE仅被定义一次可被引用任意次但是一旦此查询语句结束cte 就失效 2注意CTE表达式仅在单个语句的执行范围内定义并取别名。[from前置] with stu as ( select * from tb_student ) select * from stu; -- 3 -- 先取别名, 引用, 再过滤 with stu as ( select * from tb_student ) select * from stu where stu.gender男; // 好理解 with stu as ( select * from tb_student ) select * from stu where gender男;with语句可以配合union一起使用 为了便于掌握union关键字我们会发现当union联合多表时可以当成是一张完整数据表 4. 抽样、虚拟列 4.1抽样tablesample 解决的问题 当数据量特别大时对全体数据进行处理存在困难时就可以抽取部分数据来进行处理则显得尤为重要。 我们已知晓在大数据体系且是真实的企业环境中很容易出现超大数据容量的表比如体积达到TB/PB级别。 对这种表一个简单的SELECT * 都会非常的慢 哪怕LIMIT 10想要看10条数据 我们发现有可能也会走MapReduce计算流程。 这种时间等待是漫长且不合适的......Hive支持抽样需要使用tablesample语法 select * from 表名 tablesample (bucket x out of y [on colname字段名|rand()]);说明1y表示桶的数量比如设定为值5则表示5桶 2x是要抽样的桶编号桶编号从1开始计算colname字段名表示抽样的列也就是按照那个字段分桶 3使用rand()表明在整个行中抽取样本而不是单个列 4翻译为按照colname字段名分成y桶抽取其中的第x桶。 select * from tb_orders -- tablesample ( bucket 1 out of 6 on userName); -- 数据倾斜 tablesample ( bucket 2 out of 6 on userName); -- 数据倾斜 -- 3 select * from tb_orders tablesample ( bucket 4 out of 5 on orderNo); -- 4 select * from tb_orders tablesample ( bucket 2 out of 10 on rand());当要快速从海量数据表中采样部分数据量可以使用tablesample()函数 2使用部分数据采样形式能提升获取局部数据量的效率便于在调试海量数据的程序时使用。 4.2虚拟列 虚拟列表示未在表中真正存在的字段在创建分区表中分区列就是虚拟列的一个体现 为了将Hive中的表进行分区partition这对每日增长的海量数据存储而言是非常有用的。 为了保证HiveQL的高效运行强烈推荐在where语句后使用虚拟列分区列作为限定。[拿Web日志举例说明。] 2Hive中有3个可用的虚拟列 1INPUT__FILE__NAME 显示数据行所在的具体文件 2BLOCK__OFFSET__INSIDE__FILE 显示数据行所在文件的偏移量 3ROW__OFFSET__INSIDE__BLOCK # 没提示, 且默认不开启-需设置参数 [单独说明] 显示数据所在HDFS块的偏移量 # 偏移量指的是获取数据时指针所在位置对于 ROW__OFFSET__INSIDE__BLOCK 虚拟列要设置参数 -- 查看数据在HDFS块的偏移量设置是否开启 set hive.exec.rowoffset; -- 设置开启 set hive.exec.rowoffsettrue; -- 若要关闭, 则需要重新设置为false-- 若要关闭, 则需要重新设置为false set hive.exec.rowoffsetfalse; -- 5 use sz41db_bucket; show tables ; select *, INPUT__FILE__NAME, BLOCK__OFFSET__INSIDE__FILE from bucket_id_course;1简单地说虚拟列就是Hive内置在查询语句中的几个特殊标记可直接取用 2当要在查询结果中显示数据文件名信息可以使用 INPUT__FILE__NAME虚拟列。 5Hive基础函数 了解Hive函数有哪些分类 在Hive中有一些能直接被调用使用比如类似于current_database()调用方式 Hive的函数可分为两大类 1内置函数Built-in Functions 数学函数 日期函数 字符串函数 条件函数 类型转换函数 数据脱敏函数 2用户定义函数User-Defined Functions UDFUser Defined Functions用户定义功能函数 UDAFUser Defined Aggregate Functions用户定义聚合函数 UDTFUser Defined Table-generating Functions用户定义表生成函数内置函数属于Hive基础函数、用户定义函数属于Hive进阶函数。 -- 查看可用的所有函数 show functions; -- 查看函数的使用方式 desc function extended 函数名;当要查看某函数如何使用时可以使用desc function extended 函数名语句查看帮助信息 在Hive中当要使用函数时, 语法为[select 函数名(xx);]。 5.1]数学函数 rand() 获取一个完全随机数取值范围0-1。 double round(x [, y]) 取整/设置小数精度(四舍五入)。 double select round(3.141592654,2); select round(3.141592654); -- 3 select rand()*100; select round(rand()*100);当要保留浮点数后几位小数时推荐使用round()函数 一般地数学函数主要是用于处理各类数值型内容项 5.2日期函数 select current_date(); desc function extended year; -- 有用 select year(current_date()); select year(current_timestamp()); select year(2023-11-14); -- desc function extended month; select month(current_date()); select day(current_date()); desc function extended hour; select hour(current_timestamp()); select minute(current_timestamp()); select second(current_timestamp());2通常情况下当要处理时间日期时要想到Hive中常用的日期函数。 5.3字符串函数 在Hive中常用的字符串函数有 -- 1 select concat(hello,WORLD); select concat_ws(,hello,WORLD); -- 1-10-100-20 select split(1-10-100-20,-); select split(1-10-100-20,-)[0]; -- 2 -- Hello Heima select length(Hello Heima); select lower(Hello Heima); select upper(Hello Heima); -- 3 -- 2022-08-22 17:28:01 -- 通过日期函数year() select year(2022-08-22 17:28:01); -- 截取 select substr(2022-08-22 17:28:01,0,3); // 无法截取到结束位end select substr(2022-08-22 17:28:01,0,4); -- select substring() -- 分割, 提取 select split(2022-08-22 17:28:01,-)[0];字符串函数通常用于处理string、varchar等字符串类型的数据结果。 5.4条件函数、转换类型 1,类型转换函数有 cast(expras) 将expr值强制转换为给定类型type。例如cast(‘1’ as int会将字符串 ‘1’ 转换为整数。 select current_database(); -- if select if(11,男,女); select if(10,男,女); -- 等号 ; 后期编程语言中, 等号 -- isnull select isnull(null); select isnull(hello); -- 没约束, 判断 -- isnotnull select isnotnull(null); select isnotnull(hello); select nvl(null,18); -- 没有年龄值, 则默认为18岁 select nvl(20,18); -- cast select cast(100 as int); select cast(12.14 as string); -- double select cast(hello as int); -- 1700096276154 select cast(1700096276154/1000 as int); -- 1700096276 秒[10位数]-格式强制类型转换在Hive中不一定成功若不成功则会返回null值。 5.5 数据脱敏函数 我们知道当把元数据存储在MySQL中需要将元数据中敏感部分如身份证、电话号码等进行脱敏处理再供用户使用 通俗地说就是进行掩码处理或者加密处理。 select mask_hash(123ABC); select mask(123ABC); select mask(AB12aa); -- XXnnxx -- 2 select mask_first_n(AA11nn8989AAAAAAA,4); select mask_last_n(AA11nn8989AAAAAAA,4); select mask_show_first_n(it66ABCDE,3); select mask_show_last_n(it66ABCDE,3);要做数据脱敏操作可以根据mask单词看DataGrip的快捷提示并选择使用某个。 5.6其他函数 select hash(123456); -- hash 哈希算法(散列算法) 哈希码 select md5(123456); -- e10adc3949ba59abbe56e057f20f883e 32位/不可逆的 动态值绑定了结果? select sha1(123456); -- 7c4a8d09ca3762af61e59520943dc26494f8941b -- 3 select length(e10adc3949ba59abbe56e057f20f883e); select length(7c4a8d09ca3762af61e59520943dc26494f8941b); -- 4 转换日期格式 转换为年月日 1700096276154 desc function date_format; desc function from_unixtime; -- a.把毫秒转换为秒, int select cast(1700096276154/1000 as int); -- b.使用函数即可 select from_unixtime(cast(1700096276154/1000 as int),yyyyMM-dd); select year(from_unixtime(cast(1700096276154/1000 as int),yyyy-MM-dd));对于Hive函数的使用若在应用中还发现有新需求可以通过查阅Hive函数资料来解决。 6.Hive高阶函数 用户自定义函数有 用户定义函数User-Defined Functions 1UDFUser Defined Functions用户定义功能函数 2UDTFUser Defined Table-generating Functions用户定义表生成函数 3UDAFUser Defined Aggregate Functions用户定义聚合函数说明 1最初UDF、UDAF、UDTF这3个标准是针对用户自定义函数分类的 2目前可以将这个分类标准直接扩大到Hive中的所有函数包括内置函数和自定义函数 1UDFUser Defined Functions用户定义功能函数 UDF函数可以理解为普通函数。用于一进一出即当输入一行数据时则输出一行数据。比较常见的有split()分割函数。 select split(10-20-30-40,-); -- 结果: [10,20,30,40]2UDTFUser Defined Table-generating Functions用户定义表生成函数 UDTF用于表生成函数。用于一进多出即当输入一行时则输出多行数据。比较常见的有explode()。 3UDAFUser Defined Aggregate Functions用户定义聚合函数 UDAF可表示为聚合函数。用于多进一出即当输入多行时则输出一行数据。 6.1窗口函数 select 字段名, … 窗口函数() over([partition by xx order by xx [asc | desc]]) from 表名; 说明 1窗口函数名可以是聚合函数例如sum()、count()、avg()等也可以是分 析函数 2聚合函数有count()、sum()、avg()、min()、max() 3分析函数有row_number、rank、dense_rank等 4partition by用于分组、order by用于排序。 当要把某数据列添加到数据表时可以使用窗口函数over()关键字 6.2json数据处理 JSON的全称是JavaScript Object Notation即JS对象标记法。在很多开发场景里JSON数据传输很常见 1数组Array用中括号[ ]表示 2对象0bject用大括号{ }表示。 说明在Hive中没有json类的存在一般使用string类型来修饰叫做json字符串。 get_json_object(json_txt, path) 用于解析json字符串 说明path参数通常可用于获取json中的数据内容语法“$.key”。 select get_json_object(data,$.device) from json_device; select get_json_object(data,$.device) device, get_json_object(data,$.deviceType) divece_type, get_json_object(data,$.signal) signal, get_json_object(data,$.time) int_time from json_device;split(from_unixtime(cast(get_json_object(data,$.time)/1000 as int),yyyy/MM/dd),/)[0] year,6.3 炸裂函数 explode()可用于表生成函数一进多出即当输入一行时则输出多行数据。 通俗地说就是可以使用explode()炸开数据。 explode(array | mapdata) 用于炸裂数据内容并分开数据结果。 通常情况下炸裂函数会与侧视图配合一起使用。 侧视图lateral view原理是 1将UDTF的结果构建成一个类似于视图的表 2然后将原表中的每一行和UDTF函数输出的每一行进行连接生成一张新的虚拟表。 ateral view侧视图语法 select ... from 表A 别名 lateral view UDTF(xxx) 别名 as 列名1, 列名2, 列名3, ...;create table table_nba( team_name string, champion_year arraystring ) row format delimited fields terminated by , collection items terminated by |;select * from tb_nba; -- a.单独获取到冠军年份 select explode(champion_year) from tb_nba; -- b.显示出来?? select *, explode(champion_year) //报错了 from tb_nba;-- 对year进行一个升序排序处理 select * from (select a.team_name, b.year from tb_nba a lateral view explode(champion_year) b as year) temp_nba order by temp_nba.year; select * from (select a.team_name, b.year from tb_nba a lateral view explode(champion_year) b as year) temp_nba order by cast(temp_nba.year as int);炸裂函数把数据炸开后若在处理时遇到一些问题可以考虑引入侧视图配合使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单位网站建设费如何入账wordpress+游戏插件

第一章 神经网络是如何实现的 这些年人工智能蓬勃发展,在语音识别、图像识别、自然语言处理等多个领域得到了很好的应用。推动这波人工智能浪潮的无疑是深度学习。所谓的深度学习实际上就是多层神经网络,至少到目前为止,深度学习基本上是用神…

比较好的商城网站设计昆山建设银行网站首页

局域主机做服务器,安装DNN,外网访问的解决办法 问题: 如图:局域网主机IIS安装了DotNetNuke 4.0.x版本,设置虚拟目录为:dnn ,安装好之后,内网用户通过http://192.168.19.9/dnn访问是没问题…

网站模板免费下载网站建设五年发展规划

这是学习笔记的第 2479篇文章 说一件有些遗憾的事情。其实今年遗憾的事情有好几件,这一件算是其中之一。倒不是它发生在今天,而是每每想起来,都有一种无力感和酸楚,索性简单写一写纪念一下。 这件事情就是放弃了读博士的想法。 在…

南阳网站seo顾问室内设计方案网站

​ SueWakeup 个人主页:SueWakeup ​​​​​​​ 系列专栏:学习技术栈 ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 个性签名&…

践行新使命忠诚保大庆网站建设wordpress电影分享

1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么? 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针…

专业企业网站建设报价腾讯云服务器12元一年

第一章 计算机网络概述 一,网络发展的形态 了解:当前网络的组成形态: 二,计算机网络的定义 掌握 网络的物理组成实体 网络的工作方式 网络组建的目的 三,通过网络定义 我们如何学习网络 物理实体如何构成&…

网站开发按前端后端分解wordpress替代

装备生产业务涉及原材料采购、车间排产、班组生产评估、派工单、接单报价、委外发料、库存盘点、设备台账、图纸设计等诸多环节,而各环节数据的共享问题普遍存在于装备生产企业内部,同时也直接影响企业的生产效率和整体效益等。 企业外部环境的变化和行…

襄阳市住房和城乡建设厅网站上视频网站系统开发

0 持久化(pipelines.py)使用步骤 1 爬虫中间件和下载中间件 1.1 爬虫中间件(一般不用) 1.2 下载中间件(代理,加请求头,加cookie) 1.2.1 加请求头(加到请求对象中) 1.2.2 加cookie 1.2.3 加代理 2 scrapy集成selenium 3 源码去重…

一个网站需要多少网页ps怎么做网站导航

在 element plus 表格中,您可以使用 summary-method 属性来指定一个函数,计算表格中列的合计或平均值等。该函数应该返回一个对象,其中包含每个列的合计值。例如,如果您的表格数据是这样的: [{ name: John, age: 20, …

小学生做电子小报的网站做外贸推广自己网站

Day35 贪心算法 part04 860.柠檬水找零 pass 406.根据身高重建队列 pass

东营企业网站制作网贷代理推广

1、USB驱动程序存在于不同的内核子系统(块设备、网络设备、字符设备等等)和USB主控制器之中。 2、USB核心为USB驱动程序提供了一个用于访问和控制USB硬件的接口,而不必考虑系统当前存在的各种不同类型的USB硬件控制器。 2.1 USB里的设备模型 Linux里一个很重要的概念是设备…

福州企业高端网站建设制作哪家好怎样建立一个公司网站

目录 开始示例el挂载点data数据对象 vue基本标签v-textv-htmlv-on计数器示例实现v-showv-ifv-bind图片切换示例v-forv-on补充v-model axios网络请求axios基本使用vue中使用axios 开始示例 1.首先在html页面中引入vue的生产环境&#xff0c;在body标签中粘上下面代码 <scrip…

制作网站首先要知道什么软件开发项目管理书籍

云服务器通过实现云端数据分发和内容传输优化来提高性能、可靠性和效率。这通常涉及以下几个方面的技术和方法&#xff1a; 1. CDN(内容分发网络) 内容分发网络(CDN)是一种分布式网络架构&#xff0c;用于将内容(如网页、图像、视频等)分发到全球各地的用户。CDN通过在全球各地…

怎么样签约设计网站建设一个网站项目预算

图书管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本图书管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…

网站建设需要考啥证wordpress 防sql注入

再小的努力&#xff0c;乘以365都很明显。文章目录 操作系统操作系统的概念设计操作系统的目的 管理 ps:如何理解管理如何进行管理 操作系统管理软硬件资源小总结系统调用和库函数的概念小总结 操作系统 在讲述进程的时候我们先讲述一下操作系统&#xff08;os&#xff09;,因…

建立网站线上营销上海企业所得税怎么征收

前言&#xff1a; 记录一下sql学习&#xff0c;仅供参考基本都对了&#xff0c;不排除有些我做的太快做错了。里面sql不存在任何sql优化操作&#xff0c;只以完成最后输出结果为目的&#xff0c;包含我做题过程和思路最后一行才是结果。 1.过程: 1.1.插入数据 /* SQLyog Ul…

江门网站优化公司郑州网站建设修改

2019独角兽企业重金招聘Python工程师标准>>> <?phpfunction hello {echo hello world;} 转载于:https://my.oschina.net/guanyue/blog/52043

成都网站优化多少钱微信公众平台怎么做微网站吗

读何为技术人的核心竞争力后的笔记和感想。前一部分是从这篇文章中摘出来的&#xff0c;后一部分是自己的一些感想。 文章内容摘要技术人分类把命运寄托在事业上的人技术只是作为其中的手段&#xff0c;他们有能力通过技术实现自己的想法和事业。事业并不是指的创业做老板&…

旅游类网站模板免费下载系统安装wordpress

摘 要 即时通讯&#xff08;Instant Messaging&#xff09;是目前Internet上最为流行的通讯方式&#xff0c;而各种各样的即时通讯软件也层出不穷&#xff1b;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展&#xff0c;即时通讯的运用将日益广泛&#xff0c…

网站建设最简单的教程免费手机网站建站系统

先打个广告&#xff0c;我们的第三场零代码实践的直播在本周五&#xff08; 11 月 5 日 &#xff09;晚8点准时开始&#xff0c;扫描下面二维码&#xff0c;直接预约直播&#xff0c;到时间微信会自动提醒。随着企业数字化转型的进程加快&#xff0c;零代码平台的的应用越来越广…