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

wordpress 文章字体插件网络seo首页

wordpress 文章字体插件,网络seo首页,公司开发个网站怎么做,谷歌推广培训一、什么是Hive#xff0c;为什么要用Hive#xff0c;你是如何理解Hive?面试官往往一上来就一个“灵魂三连问”#xff0c;很多没有提前准备好的小伙伴基本回答得都磕磕绊绊#xff0c;效果不是很好。下面贴出菌哥的回答#xff1a;Hive是基于Hadoop的一个数据仓库工具为什么要用Hive你是如何理解Hive?面试官往往一上来就一个“灵魂三连问”很多没有提前准备好的小伙伴基本回答得都磕磕绊绊效果不是很好。下面贴出菌哥的回答Hive是基于Hadoop的一个数据仓库工具可以将结构化的数据文件映射为一张数据库表并提供类SQL查询功能(HQL)。「Hive本质是将SQL转换为MapReduce的任务进行运算。」个人理解hive存的是和hdfs的映射关系hive是逻辑上的数据仓库实际操作的都是hdfs上的文件HQL就是用sql语法来写的mr程序。二、介绍一下Hive的架构Hive可以通过CLIJDBC和 ODBC 等客户端进行访问。除此之外Hive还支持 WUI 访问Hive内部执行流程解析器(解析SQL语句)、编译器(把SQL语句编译成MapReduce程序)、优化器(优化MapReduce程序)、执行器(将MapReduce程序运行的结果提交到HDFS)Hive的「元数据」保存在数据库中如保存在MySQLSQLServerPostgreSQLOracle及Derby等数据库中。Hive中的元数据信息包含表名列名分区及其属性表的属性(包括是否为外部表)表数据所在目录等。Hive将大部分 HiveSQL语句转化为MapReduce作业提交到Hadoop上执行少数HiveSQL语句不会转化为MapReduce作业直接从DataNode上获取数据后按照顺序输出。三、Hive和数据库比较Hive 和 数据库 实际上并没有可比性除了拥有类似的查询语言再无类似之处。数据存储位置Hive 存储在HDFS数据库将数据保存在块设备或者本地文件系统中。数据更新Hive中不建议对数据的改写而数据库中的数据通常是需要经常进行修改的。执行延迟Hive 执行延迟较高。数据库的执行延迟较低。当然这个是有条件的即数据规模较小当数据规模大到超过数据库的处理能力的时候Hive的并行计算显然能体现出优势。数据规模Hive支持很大规模的数据计算数据库可以支持的数据规模较小。四、了解和使用过哪些Hive函数这个可以回答的内容就非常多了例如常见的关系函数 日期函数to_dateyearsecondweekofyeardatediff条件函数IFCASENVL字符串函数lengthreverseconcat....更多的基本函数不一一列举了感觉面试官更想听的是开窗函数例如rankrow_numberdense_rank...而开窗函数的使用可以说是大数据笔试的热门考点所以说嘛你们都懂得~五、内部表和外部表的区别以及各自的使用场景这个感觉出现的频率也很高基本在面试中都会被问到。内部表如果Hive中没有特别指定则默认创建的表都是「管理表」也称「内部表」。由Hive负责管理表中的数据管理表不共享数据。删除管理表时会删除管理表中的数据和元数据信息。外部表当一份数据需要「被共享」时可以创建一个「外部表」指向这份数据。删除该表并不会删除掉原始数据删除的是表的元数据。当表结构或者分区数发生变化时需要进行一步修复的操作。六、Sort ByOrder ByDistrbute ByCluster By 的区别这是一道很容易混淆的题目就算不被问到也是必须要掌握清楚的。Sort By分区内有序Order By全局排序只有一个ReducerDistrbute By类似MR中Partition进行分区结合sort by使用Cluster By当Distribute by和Sorts by字段相同时可以使用Cluster by方式。Cluster by除了具有Distribute by的功能外还兼具Sort by的功能。但是排序只能是升序排序不能指定排序规则为ASC或者DESC。七、Hive窗口函数的区别RANK() 排序相同时会重复总数不会变例如1224DENSE_RANK() 排序相同时会重复总数会减少例如 1223ROW_NUMBER() 会根据顺序去计算例如 1234八、是否自定义过UDFUDTF简述步骤这个时候面试官可能看你面试得挺顺利的打算问你点“难题”在项目中是否自定义过UDF、UDTF函数以及用他们处理了什么问题及自定义步骤你可以这么回答1 自定义过2 我一般用UDF函数解析公共字段用UDTF函数解析事件字段具体的步骤对应如下「自定义UDF」继承UDF重写evaluate方法「自定义UDTF」继承自GenericUDTF重写3个方法initialize(自定义输出的列名和类型)process(将结果返回forward(result))close为什么要自定义UDF/UDTF因为自定义函数可以自己埋点Log打印日志出错或者数据异常方便调试九、请介绍下你熟知的Hive优化当被问到优化你应该庆幸自己这趟面试来得值了。为啥就冲着菌哥给你分析下面的这九大步面试官还不得当场呆住这波稳了的节奏~MapJoin如果不指定MapJoin或者不符合MapJoin的条件那么Hive解析器会将Join操作转换成Common Join即在Reduce阶段完成join。容易发生数据倾斜。可以用MapJoin把小表全部加载到内存在map端进行join避免reducer处理。行列过滤列处理在SELECT中只拿需要的列如果有尽量使用分区过滤少用SELECT *。行处理在分区剪裁中当使用外关联时如果将副表的过滤条件写在Where后面那么就会先全表关联之后再过滤。合理设置Map数是不是map数越多越好?答案是否定的。如果一个任务有很多小文件(远远小于块大小128m)则每个小文件也会被当做一个块用一个map任务来完成而一个map任务启动和初始化的时间远远大于逻辑处理的时间就会造成很大的资源浪费 。而且同时可执行的map数是「受限」的。此时我们就应该减少map数量。合理设置Reduce数Reduce个数并不是越多越好(1)过多的启动和初始化Reduce也会消耗时间和资源(2)另外有多少个Reduce就会有多少个输出文件如果生成了很多个小文件那么如果这些小文件作为下一个任务的输入则也会出现小文件过多的问题在设置Reduce个数的时候也需要考虑这两个「原则」处理大数据量利用合适的Reduce数使单个Reduce任务处理数据量大小要合适严格模式严格模式下会有以下特点①对于分区表用户不允许扫描所有分区②使用了order by语句的查询要求必须使用limit语句③限制笛卡尔积的查询开启map端combiner(不影响最终业务逻辑)这个就属于配置层面上的优化了需要我们手动开启 set hive.map.aggrtrue压缩(选择快的)设置map端输出中间结果压缩。(不完全是解决数据倾斜的问题但是减少了IO读写和网络传输能提高很多效率)小文件进行合并在Map执行前合并小文件减少Map数CombineHiveInputFormat具有对小文件进行合并的功能(系统默认的格式)。HiveInputFormat没有对小文件合并功能。其他列式存储采用分区技术开启JVM重用...类似的技术非常多大家选择一些方便记忆的就OK。十、了解过数据倾斜吗是如何产生的你又是怎么解决的?「数据倾斜」和第九步谈到的的「性能调优」但凡有点工作经验的老工程师都会告诉你这都是面试必问的那怎么才能回答好呢慢慢往下看~概念数据的分布不平衡某些地方特别多某些地方又特别少导致的在处理数据的时候有些很快就处理完了而有些又迟迟未能处理完导致整体任务最终迟迟无法完成这种现象就是「数据倾斜」如何产生①  key的分布不均匀或者说某些key太集中② 业务数据自身的特性例如不同数据类型关联产生数据倾斜 ③ SQL语句导致的数据倾斜如何解决① 开启map端combiner(不影响最终业务逻辑)② 开启数据倾斜时负载均衡③ 控制空值分布❝将为空的key转变为字符串加随机数或纯随机数将因空值而造成倾斜的数据分配到多个Reducer❞④ SQL语句调整❝a ) 选用join key 分布最均匀的表作为驱动表。做好列裁剪和filter操作以达到两表join的时候数据量相对变小的效果。b ) 大小表Join使用map join让小的维度表(1000条以下的记录条数)先进内存。在Map端完成Reduce。c ) 大表Join大表把空值的Key变成一个字符串加上一个随机数把倾斜的数据分到不同的reduce上由于null值关联不上处理后并不影响最终的结果。d ) count distinct大量相同特殊值count distinct 时将值为空的情况单独处理如果是计算count distinct可以不用处理直接过滤在最后结果中加1。如果还有其他计算需要进行group by可以先将值为空的记录单独处理再和其他计算结果进行union。❞十一、分区表和分桶表各自的优点能介绍一下吗    前面刚被问到内部表与外部表的区别现在终于到了分区表和分桶表~作为Hive常用的几种「管理表」被问到也是意料之中!分区表介绍1、分区使用的是表外字段需要指定字段类型2、分区通过关键字 partitioned by(partition_name string) 声明3、分区划分粒度较粗优点将数据按区域划分开查询时不用扫描无关的数据加快查询速度分桶表 介绍1、分桶使用的是表内字段已经知道字段类型不需要再指定。2、分桶表通过关键字clustered by(column_name) into ... buckets声明3、分桶是更细粒度的划分、管理数据可以对表进行先分区再分桶的划分策略优点 用于数据取样能够起到优化加速的作用回答到这里已经非常不错面试官可能又问了「小伙几能讲解一下分桶的逻辑吗?」哈哈哈好吧~谁让我看了菌哥写的杀招有备而来丝毫不惧❝分桶逻辑对分桶字段求哈希值用哈希值与分桶的数量取余余几这个数据就放在那个桶内。❞十二、了解过动态分区吗它和静态分区的区别是什么能简单讲下动态分区的底层原理吗都到了这一步没有撤退可言。静态分区与动态分区的主要区别在于静态分区是手动指定而动态分区是通过数据来进行判断详细来说静态分区的列是在编译时期通过用户传递来决定的动态分区只有在 SQL 执行时才能决定简单理解就是静态分区是只给固定的值动态分区是基于查询参数的位置去推断分区的名称从而建立分区十三、使用过Hive的视图和索引吗简单介绍一下可能有的朋友在学习的过程中没机会使用到视图和索引这里菌哥就简单介绍一下如何在面试的时候回答更详细的实操应该等着你们后面去实践哟~Hive视图视图是一种使用查询语句定义的「虚拟表」是数据的一种「逻辑结构」创建视图时不会把视图存储到磁盘上定义视图的查询语句只有在执行视图的语句时才会被执行。通过引入视图机制可以简化查询逻辑提高了用户效率与用户满意度。「注意:」视图是只读的不能向视图中插入或是加载数据Hive索引和关系型数据库中的索引一样Hive也支持在表中建立索引。适当的索引可以优化Hive查询数据的性能。但是索引需要额外的存储空间因此在创建索引时需要考虑索引的必要性。「注意:」Hive不支持直接使用DROP TABLE语句删除索引表。如果创建索引的表被删除了则其对应的索引和索引表也会被删除如果表的某个分区被删除了则该分区对应的分区索引也会被删除。结语今天的分享就到这里啦谢谢大家~~     「一键三连养成习惯~」
http://www.zqtcl.cn/news/182320/

相关文章:

  • 网站建站系统程序做网站代理商好赚吗
  • 哪些网站是做食品dedecms转wordpress
  • 广东华迪工程建设监理公司网站网站的优化从哪里进行
  • 国产做的视频网站优秀网站首页
  • 做国际黄金看什么网站网络营销品牌推广公司
  • 手机自助建站平台手机网站开发设计报价单
  • 网站建设标书范本注册了一个域名怎么做网站
  • 行政部建设公司网站东莞市做网站
  • 网站建设开发的流程建设官方网站的主要作用
  • 怎样用模板做网站wordpress柚子皮
  • 长宁区网站建设公司内蒙古赤峰市建设局网站
  • 网站配色怎么对网站的数据库做管理
  • 企业网站效果图wap网站
  • 网站建设优化托管跨境电商怎么做流程
  • 昆明网站建站平台在线阅读网站开发教程
  • pv3d 优秀网站18种最有效推广的方式
  • 一站式网站建设顾问网站建设公司专业网站科技开发
  • python做网站比php好网站开发财务费用
  • 图片上传网站变形的处理北京网站建设有哪些公司
  • 昆山品牌网站建设wordpress 浮动二维码
  • 网站网页建设论文cms免费源码
  • wordpress登录的图片不显示seo竞价网站建设
  • 邢台做移动网站找谁网上推广平台哪个好
  • 做网站准备广州短视频拍摄公司
  • 网站建设学什么软件做电影资源网站有哪些
  • 怎么样让百度搜到自己的网站wordpress的短代码
  • 聊城专业网站建设公司电子商务网站建设与维护李建忠下载
  • icp备案网站接入信息怎么写长兴县网站建设
  • 如何在网上注册公司网站网站不想让百度收录
  • 服务器做jsp网站教程视频免费的舆情网站app下载