46-天亮大数据系列教程之舆情热点挖掘项目-课堂笔记-2

1、数据仓库的工作空间初始化规范
四大金刚:

  1. config : 存放一些系统配置的环境变化
    优点:集中存储便于管理,其次是便于移植。
  2. create : 存放表的创建脚本
  3. deal : 实际业务代码集中存储
  4. udf : 存放已发布的jar包或者其它形式的第三方库

2、hadoop生态圈三大商业化公司
CDH
MapR
HDP

3、做项目的开发流程

  1. 走通整个流程
  2. 完善细节
  3. 测试上线
  4. 发布总结

4、shell脚本的执行方式分析

  1. sh执行 : 在新开一个执行会话去执行当前的脚本
  2. 相对路径执行 : 也是新开会话,但要求脚本有可执行权限x
  3. 绝对路径执行:也是新开会话,但要求脚本有可执行权限x
  4. source执行,与"."执行完全对等:当前会话执行
    *** 写一个测试用例,来验证source执行是从当前会话环境执行的 ***

5、 使 符号的使用场景 当你赋值的时候,不能用 符号
当你取值的时候,一定要用$符号

6、测试用例验证hdfs自带识别gzip的功能?

  1. 构建一个gzip文件
    压缩: gzip file_path
    解压:gzip -d file_path.gz
  2. 上传到hdfs路径下
    hdfs dfs -copyFromLocal -f 其中f代表force
  3. hdfs脚本去查看该路径是否正常
    hdfs dfs -text hdfs_file_path
  4. hdfs自带识别gzip文件,依据是什么?
    将gzip文件修改名称后,再进行text操作来验证。
    结论:不以后缀作为文件解压缩的依据,而是以文件自带的元数据。

7、分区表的动态和静态插入的区分方式
动态插入:待插入的分区字段是由某个字段名称来填充的
静态插入:待插入的分区字段是由某个常量/定值来填充的

8、shell当中符号`的作用
内嵌一个shell脚本,使之可以独立运行

9、count(1)和count()的区别
性能上讲:count(1)远高于count(
)
原理:数据查询可分为找到和取数,count(*)找到后把所有值取出来再记数
count(1)找到后把所有值都忽略用常量1来取代

10、数据洞查
1) 数据占磁盘情况
1.1) 明文形式
约占44.2G大小
1.2) 压缩形式
占19G大小
2) 数据的记录数
总记录数约为2.54亿
3) 文件个数和平均文件大小
52个,平均文件大小:明文和压缩

11、将周文件数据批量导入分区表中的步骤
1) 获取已解压完的csv文件的主目录
2) 通过脚本获取目录中所有的csv文件的名称(去掉后缀)对应的数组
3) 遍历数组,将周文件逐个装加到分区表的对应分区中。

12、drop,delete,truncate三者的异同点?
相同点:都是删数据,都可实现删数据需求,被支持的数据库产品非常多。
差异点:
drop table: 一般关系型数据库(rdb)的实现都是元数据和实体数据都删,
但是在数据仓库如hive中,是有内外表区分的。
delete : 一般关系型数据库都支持,只删实体数据,不改变任何元数据,但如hive之类数据仓库并不支持该语法,
也不支持update。
truncate: 主要用于删除实体数据,同时清除一些状态数据。

13、如何删除hive分区表中的指定分区数据?
alter table weibo_origin drop if exists partition(week_seq=‘week1’);
alter table weibo_origin drop if exists partition(week_seq=‘week2’);

14、hive/hdfs删除数据的处理机制?
当使用rm删除数据时,默认是将数据move到当前用户的垃圾箱里,以备恢复。
如果想直接从hdfs删除数据,而不是进入垃圾箱,加入参数-skipTrash
hdfs dfs -rm -skipTrash /tmp/job004/test_rm.txt

15、nohup和&的对比说明
nohup: 不挂起运行,用户终端关掉后不影响其运行,但它会关闭标准输入。
使用户交互体验不好。注意:他不是真正的后台执行
& : 后台执行,将进程放到服务后台运行,缺点是用户终端不能断开。
完美的后台执行:nohup command &

16、数据清洗的过程
1) 洞查数据
2) 找到脏数据的特征(Feature/Features)
3) 写规则代码ETL数据
4) 检查是否已清洗干净

17、hive的一次查询多次插入用法
1) 当源表是一张大表时,目标是潜在的或是已存在多个小表或子表时,则使用该语法。
2) 语法;from table_name
insert overwrite table …
insert overwrite table …

18、hive动态分区插入时候的参数设置
将hive插入分区模式改成非严格模式。
set hive.exec.dynamic.partition.mode=nonstrict

19、数据格式剖析
1) 文件格式
txt 可分割并行计算 简单 无压缩、占磁盘大、IO压力大
seq 可分割并行计算 kv存储 有压缩 常用于mr的中间数据存储
rc 可分割并行计算 行列式文件、减少不必要的IO、提高IO效率 自带压缩、省空间 绝大多数场景下均可以使用。
orc 可分割并行计算 rc的升级版,o代表的是optimized
2) 压缩格式
lzo : 可分割计算
bz2: 可分割计算
gzip : 不可分割计算
snappy: 不可分割计算

20、分块存储和分割并行计算概念
分块存储:是对于hdfs来讲,即所有在hdfs上的数据文件均为分块存储,分块取决于dfs.blocksize的大小设置,默认是128M。
与文件格式无关的,是hdfs做分布式数据存储的一种解决方案。
分割并行计算:若文件可分割计算,方可真正实现并行计算,否则反之。

21、请写测试用例TestCase,分别验证txt文件和gzip文件的可并行计算性?
1) txt和gzip文件准备ok,放到hdfs上去。
各自的大于必须大于的一个block块。
2) 写hivesql,通过某种计算两种不同形式的数据文件对应的表,查看其map个数的差异。
3) 下个结论



天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以"快乐工作,认真生活,打造高端职业技能教育的一面旗帜"为愿景,胸怀"让天下没有难找的工作"使命,
坚持"客户第一、诚信、激情、拥抱变化"的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。

更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
这里写图片描述
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://bbs.myhope365.com/forum.php?mod=viewthread&tid=1422&extra=page%3D1

欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
这里写图片描述

天亮教育官方群318971238,
爬虫、nlp技术qq群320349384
hadoop & spark & hive技术群297585251
教育培训官网:http://myhope365.com
项目研发业务尚云科技官网:http://shangyuninfo.com/
官方天亮论坛:http://bbs.myhope365.com/

猜你喜欢

转载自blog.csdn.net/erliang20088/article/details/84842467