XX公司大數(shù)據(jù)筆試題(A)
- 大數(shù)據(jù)基礎(chǔ)(HDFS/Hbase/Hive/Spark〉
1.1. 對出Hadoop集群典型的配置文件名稱,并說明各配置文件的用途。
1.2 怎么往HDFS上傳文件和目錄,并指定被上傳文件再HDFS上存儲塊大小為4MB?怎么限制被上傳的文件只允許本賬號(假定賬號為user1)可讀寫? 假定要新增賬號user2?對上傳文件可讀,怎么設(shè)置?
1.3 什么是Hbase Namespace?寫出命令,創(chuàng)建hbase namespace “jk”,并創(chuàng)建表“user2”對上傳文件可讀,怎么設(shè)置?
1.4 簡單說明HBase出現(xiàn)熱點的原因,給出避免熱點的方法(盡量多舉例)。
1.5 請說明 Hive 中 Sort By,Order By,Cluster By,Distrbute By 各代表什么意思
1.6 寫出 HQL 語句,將zz.20170101.tog 文件放入 hive 中 access 表 ‘20170101’ 分區(qū),access的分區(qū)字段是eventday。
1.7 Hadoop MapReduce和Spark的都是并行計算,有什么相同和區(qū)別?
1.8 簡單說一下Spark的shuffle過程。
1.9 什么是數(shù)據(jù)傾斜?如何解決? - 腳本能力
寫一段程序(Shell或Python),將指定本地目錄/data/log/nginx (包括子目錄)文件傳到指定HDFS目錄/apps/logs/nginx,且只傳輸變化的文件(包括新增文件、文件大小發(fā)生變化的文件) - Spark 編程
在 HDFS 目錄"/data/log/nginx/2017010"下,存放著多個日志文件 access.0.log, access.1.log,…, access.23.log
日志文件內(nèi)每一行的格式:來源IP地址,HTTP Request,如下表所示: f-J
11.1.2.3,POST /appl/index.html
123.3.56/GET/app2/user?id=3
23.3.3,POST /appl/submitorder
其中request的格式為HTTP Method + URL, URL的第一個分段為應(yīng)用名,如app1, app2, app3,…,要求:
1)寫出spark程序統(tǒng)計各應(yīng)用的的PV和UV(基于IP去重)
2)要求先將日志文件加載到RDD進(jìn)行處理,然后轉(zhuǎn)換為DataFrame,最后用SparkSQL 統(tǒng)計出上述結(jié)果
- Spark可以用java,python或Scala,程序書寫需要完整,符合編程規(guī)范