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

我国政务网站建设统计刚刚发生 北京严重发生

我国政务网站建设统计,刚刚发生 北京严重发生,百度做地图的网站,b2c网站模板盈利模式锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你…

    锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你在面试中先人一步!接下来的是今日的面试题:

1.Hive 最优的 file formats 是什么?

ORC file formats:

1、ORC 将行的集合存储在一个文件中,并且集合内的行数据将以列式存储。采用列式格式,

压缩非常容易,从而降低了大量的存储成本。

2、当查询时,会查询特定列而不是查询整行,因为记录是以列式存储的。

3、ORC 会基于列创建索引,当查询的时候会很快。

2.Hive的数据类型

原始数据类型

整型

TINYINT — 微整型,只占用1个字节,只能存储0-255的整数。

SMALLINT– 小整型,占用2个字节,存储范围–32768 到 32767。

INT– 整型,占用4个字节,存储范围-2147483648到2147483647。

BIGINT– 长整型,占用8个字节,存储范围-263到263-1。

布尔型

BOOLEAN — TRUE/FALSE

浮点型

FLOAT– 单精度浮点数。

DOUBLE– 双精度浮点数。

字符串型

STRING– 不设定长度。

复合数据类型

Structs:一组由任意数据类型组成的结构。比如,定义一个字段C的类型为STRUCT {a INT; b

STRING},则可以使用a和C.b来获取其中的元素值;

Maps:一组无序的键/值对。键的类型必须是原子的,值可以是任何类型,同一个映射的键的类型

必须相同,值得类型也必须相同

Arrays:一组有序字段。字段的类型必须相同

3.描述一下Hive动态分区和分桶使用场景和使用方法

1.分区

按照数据表的某列或某些列分为多个分区,分区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。分区是以字段的形式在表结构中存在,通过describe table命令可以查看字段存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。

1. 静态分区

create table if not exists sopdm.wyp2(id int,name string,tel string)

partitioned by(age int) row format delimited fields terminated by ‘,’ stored as textfile; -- overwrite是覆盖,into是追加

insert into table sopdm.wyp2 partition(age=‘25’) select id,name.tel from sopdm.wyp;

2. 动态分区

-- 设置为true表示开启动态分区功能(默认为false)

set hive.exec.dynamic.partition=true; -- 设置为nonstrict,表示允许所有分区都是动态的(默认为strict)

set hive.exec.dynamic.partition.mode=nonstrict; -- insert overwrite是覆盖,insert into是追加insert overwrite table sopdm.wyp2 partition(age) select id,name.tel,age from sopdm.wyp;

3. 静态分区和动态分区的区别

静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说:

静态分区:

• 静态分区是在编译期间指定的指定分区名。

• 支持load和insert两种插入方式。

• 适用于分区数少,分区名可以明确的数据。

动态分区:

• 根据分区字段的实际值,动态进行分区。

• 是在sql执行的时候进行分区。

• 需要先将动态分区设置打开。set hive.exec.dynamic.partition.mode=nonstrict • 只能用insert方式。

• 通过普通表选出的字段包含分区字段,分区字段放置在最后,多个分区字段按照分区顺序放置。

2.分桶

分桶是相对分区进行更细粒度的划分。分桶将整个数据内容安装某列属性值得hash值进行区分,如果按照name属性分为3个桶,就是对name属性值的hash值对3取模,按照取模结果对数据分桶。如取模结果为0的数据记录存放到一个文件,取模为1的数据存放到一个文件,取模为2的数据存放到一个文件。

CREATE TABLE bucketed_user(id INT) name STRING CLUSTERED BY (id) INTO 4 BUCKETS;

对于每一个表(table)或者分区,可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。把表(或者分区)组织成桶(Bucket)有两个理由:

1)获得更高的查询处理效率

桶为表加上了额外的结构,Hive在处理有些查询时能利用这个结构。具体而言,连接两个在(包含连接列的)相同列上划分了桶的表,可以使用Map端连接(Map-side join)高效的实现。比如JOIN操作。对于JOIN操作两个表有一个相同的列,如果对这两个表都进行了桶操作。那么将保存相同列值的桶进行JOIN操作就可以,可以大大减少JOIN的数据量。

2)使取样(sampling)更高效在处理大规模数据集时,在开发和修改查询的阶段,如果能在数据集的一小部分数据上试运行查询,会带来很多方便。

http://www.qdjiajiao.com/news/5720.html

相关文章:

  • 一个网站源代码概多大如何查看百度指数
  • 八年级信技做网站电商平台的营销方式
  • 杭州网站建设公司电话怎样利用互联网进行网络推广
  • 一个公司做两个网站的多吗最新热搜新闻事件
  • wordpress 4.9 站群seo是搜索引擎优化
  • 做网站策划遇到的问题重庆整站seo
  • 新网wordpress域名解析百度关键词搜索优化
  • 政府网站建设历史口碑优化
  • 在阿里巴巴上做网站有效果吗活动推广软文
  • 全网网站建设维护百度云网盘网页版登录
  • 北京市住房和建设委员会网站厦门网站建设公司哪家好
  • 网站游戏怎么制作博客是哪个软件
  • 做网站商城如何优化营销助手
  • app那个网站开发比较好电脑优化用什么软件好
  • 无锡自适应网站开发b站免费建网站
  • wordpress cosy主题破解绍兴seo排名公司
  • react做的电商网站能上线吗郑州网站推广优化公司
  • wordpress 插件手册seo推广公司教程
  • 未成年做网站软件开发公司排名
  • 宁波三优互动网站建设公司怎么样上海搜索推广
  • 南京网站公安备案成都最新动态
  • 鄱阳做网站百度广告联盟一个月能赚多少
  • 网站制作 青岛西安seo关键词查询
  • 佟年帮韩商言做网站是第几集注册商标查询官网入口
  • 淄博网站建设排行榜注册城乡规划师报考条件
  • 长沙网站优化排名推广优化营商环境心得体会
  • 券妈妈网站是如何做的seo排名优化教程
  • 南昌网站建设模板合作阿里巴巴国际贸易网站
  • 网站网页压缩黄石seo
  • 导航网站制作教程seo推广的公司