Hive压缩和spark算子,RDD总结

1.压缩格式有哪几种?

lzo bzip2 snappy lz4 gz


2.哪种压缩格式是支持分割的

bzip2 lzo snappy支持分割,中lzo要做index


3.能够支持分割,有什么好处?

支持分割可将文件切分,文件与块大小一致,有利于降低IO使用率


4.哪种压缩比最大

bzip2


5.哪种压缩速率和解压速率最高

snappy


6.mr job,分为三个阶段,输入,shuffle,输出,请问这三个阶段分别用那个压缩较合适呢(比如输入是要起map task的,那么肯定选带分割的压缩,这样130M文件可以有两个map task)


7.mr job是要配置哪些参数支持压缩呢?

core-site.xml

    <property>
            <name>io.compression.codecs</name>
            <value>
                   org.apache.hadoop.io.compress.GzipCodec,
                   org.apache.hadoop.io.compress.DefaultCodec,
                   org.apache.hadoop.io.compress.BZip2Codec,
                   org.apache.hadoop.io.compress.SnappyCodec,
                   com.hadoop.compression.lzo.LzoCodec,
                   com.hadoop.compression.lzo.LzopCodec
            </value>
    </property>
        <property>
             <name>io.compression.codec.lzo.class</name>
             <value>com.hadoop.compression.lzo.LzoCodec</value>
        </property>

mapred-site.xml

<property>
        <name>mapreduce.output.fileoutputformat.compress</name>
        <value>true</value>
</property>


<property>
        <name>mapreduce.output.fileoutputformat.compress.codec</name>
        <value>org.apache.hadoop.io.compress.BZip2Codec</value>
</property>


<property>
        <name>mapreduce.output.fileoutputformat.compress.codec</name>
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
<property>
    <name>mapreduce.map.output.compress.codec</name>
    <value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
<property>
    <name>mapred.child.env</name>
    <value>LD_LIBRARY_PATH=/usr/local/hadoop/lzo/lib</value>
</property>

8.hive 建表,支持压缩,建表语句是否还记得,换行符,分隔符,压缩格式等等

SET hive.exec.compress.output

SET mapreduce.output.fileoutputformat.compress.codec

create table xxx
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t"
as select * from xxx;


9.hive中哪些语句会触发 mr job

在hive中除全表扫锚外,hive中的HQL语句全部转化为MR任务(包括as select)


10.文件格式有行和列两种,分别有什么文件格式

行:textfile、sequencefile

行列混合:RCFILE

列:Parquet与ORC


11.如何将压缩和文件格式结合呢?

create table page_views_orc_snappy
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t"
STORED AS ORC 
TBLPROPERTIES("orc.compress"="SNAPPY")
as select * from page_views;


12.hive建表语句默认是什么文件格式,那么指定一个文件格式的语句是什么

textfile

STORED AS SEQUENCEFILE;STORED AS RCFILE;STORED AS ORC;STORED AS PARQUET;


13.maven编译,是寻找当前目录的什么文件呢?


14.spark的rdd是什么?

弹性分布式数据集,在spark里面是最基本的抽象概念。代表一个不可变的,集合元素可被分区的,能被以并行的方式操作。


15.rdd五大特性是什么?

1、有一堆的分区

2、每个函数作用在每个分片(分区)上计算

3、RDD和其它的RDD有依赖关系

4、(可选)一个分区器给key-value RDDs所使用

5、(可选)一堆最佳位置,在本地的分片上计算(数据在哪里,就在哪里计算)


16.如何用spark来写wc?

sc.textFile("").flatMap(_.split("\t")).map((_,1)).ruduceByKey(_+_).collect


17.谈谈转换函数和算子?

https://blog.csdn.net/weixin_39182877/article/details/79975251


18.触发job是转换函数还是算子?

算子,action,因为spark是懒加载,只有action才做加载和处理


19.宽依赖和窄依赖那个图,区别是什么?

窄依赖(narrow dependencies)
窄依赖是指父RDD仅仅被一个子RDD所使用,子RDD的每个分区依赖于常数个父分区(O(1),与数据规模无关)。
输入输出一对一的算子,且结果RDD的分区结构不变。主要是map/flatmap
输入输出一对一的算子,但结果RDD的分区结构发生了变化,如union/coalesce
从输入中选择部分元素的算子,如filter、distinct、substract、sample
宽依赖(wide dependencies)
宽依赖是指父RDD被多个子分区使用,子RDD的每个分区依赖于所有的父RDD分区(O(n),与数据规模有关)
对单个RDD基于key进行重组和reduce,如groupByKey,reduceByKey
对两个RDD基于key进行join和重组,如join(父RDD不是hash-partitioned )
需要进行分区,如partitionBy


20.spark on yarn,那么提交job,这样的架构设计流程是什么?


【来自@若泽大数据】

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值