1. 程式人生 > >大資料開發、架構工程師面試(一)

大資料開發、架構工程師面試(一)


1、hadoop 工作原理(最常見的問題):
    a.首先 概括裡面的角色(HDFS 、Mapreduce)
    b.講解各個角色的整體架構

    HDFS:


    概念:
    分散式檔案系統,用於海量資料儲存。
      架構:
          master/slave 架構 :1個Namenode和多個Ddatanode。
        工作原理:

         Namenode:(專案管理)

Namenode是整個檔案系統的管理節點。它維護著整個檔案系統的檔案目錄樹,檔案/目錄的元資訊和每個檔案對應的資料塊列表, 接收使用者的操作請求。 
檔案包括: 
fsimage:

 元資料映象檔案儲存某一時段NameNode記憶體元資料資訊block起始位置與結束位置。 
edits:
 操作日誌檔案。 
fstime:
 儲存最近一次checkpoint的時間 
以上這些檔案是儲存在linux的檔案系統中。通過hdfs-site.xml的dfs.namenode.name.dir屬性進行設定。

         Datanode:(coder)
          1. 提供真實檔案資料的儲存服務。 
2.檔案塊( block): 最基本的儲存單位。 
3.對於檔案內容而言,一個檔案的長度大小是size,那麼從檔案的0偏移開始,按照固定的大小,順序對檔案進行劃分並編號,劃分好的每一個塊稱一個Block。 HDFS預設Block大小是128MB, 因此,一個256MB檔案,共有256/128=2個Block. 
4.與普通檔案系統不同的是,在 HDFS中,如果一個檔案小於一個數據塊的大小,並不佔用整個資料塊儲存空間。 
5.Replication:多複本。預設是三個。通過hdfs-site.xml的dfs.replication屬性進行設定。

         Namenode和Datanode的互動:

HDFS 如何保證資料安全性簡單說下

應用場景:
   Mapreduce 工作原理:
   應用場景:適合處理海量離線批處理資料
   Yarn 工作原理:

Hive 面試題:
0. 它最常見的應用場景:
       離線統計分析(非實時的)
1. 為什麼 hive 延遲高?
    底層與基於mapreduce 框架 會頻繁的進行IO讀寫
        2. hive 資料傾斜怎麼解決?
       資料傾斜很大程度發生於Mapreduce shuffle階段 
       Map端:
       如果發生傾斜,通過不去解決。也無法解決,甚至無法避免。
       Reduce端:
       如果發生傾斜 離線叢集中的key。如果有groupby語句的話 有個屬性可以設定  set xxx=true
    3. HQL 裡那些欄位會作為key?
        a. on 條件欄位
        b. group by 欄位
        c. count(distincit 欄位)
    4. 你寫過什麼比較複雜的業務邏輯語句?
        考你的業務

排程系統(Zeus):

Hbase 應用場景:
特點:
線上高頻讀寫,查詢時需要毫秒級返回。
   缺點:
      無法做統計分析類場景。

   Hive-hbase介面表:遇到掃描問題? 

從hive裡面的查詢的時候 沒有不經過rowkey 導致查詢效能差,堵塞IO,造成Hbase 側查詢不穩定

  二級索引設計:
   場景再現:使用hbase 過程中遇到的問題?
    開始的時候 hbase 二級索引使用的不好導致很多表不能重用,覆蓋的場景較少,不得不去增加資料存戶等
   Hbase 表型別:
      業務表:
         以業務ID(倒序)為rowkey 資料可以供任務地方使用
        例如:
          比如訂單表
          rowkey(倒序訂單ID) 欄位1,欄位2,欄位3...
      二級索引表:
         NOTE: 
         如果涉及業務表的時候,把業務資料和二級索引混合在一起,這張表就報廢!!
         查詢場景:
           索引表1 rowkey 是組合條件 無欄位
           索引表2 rowkey 是組合條件 無欄位
           索引表3 rowkey 是組合條件 無欄位

 一般情況下公司初始做的離線統計分析之類的業務,後期才會考慮做實時計算


相關推薦

資料開發架構工程師面試

1、hadoop 工作原理(最常見的問題):     a.首先 概括裡面的角色(HDFS 、Mapreduce)     b.講解各個角色的整體架構     HDFS:     概念:     分

資料生態系統基礎: HBASE:HBASE 介紹及安裝配置

一、介紹        Apache HBase是Hadoop資料庫,一個分散式的、可伸縮的大型資料儲存。        當您需要隨機的、實時的讀/寫訪問您的大資料時,請使用Apache HBase。這個專案的目標是承載非常大的表——數十億行X百萬列的列——執行在在商用硬體

資料分庫分表設計mysql

1.應用場景:   使用mysql資料庫做查詢,當資料量超過200w時,查詢數度受到限制,此時為了避開這一瓶頸,我們採取分庫分表的資料庫設計思想,將資料按照一定規律儲存至資料庫,常用的方式如下:                     1.1使用時間作為依據分庫/分表   

資料面試題以及答案整理

kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為

資料儲存之分散式檔案系統

1.Google檔案系統(GFS) 使用一堆廉價的商用計算機支撐大規模資料處理。 GFSClient: 應用程式的訪問介面 Master(主控伺服器):管理節點,在邏輯上只有一個(還有一臺“影子伺服器“,在主控伺服器失效時提供元資料,但並不是完整的熱備伺服器),儲

資料演算法-Hadoop/Spark資料處理技巧》讀書筆記——二次排序

寫在前面: 在做直播的時候有同學問Spark不是用Scala語言作為開發語言麼,的確是的,從網上查資料的話也會看到大把大把的用Scala編寫的Spark程式,但是仔細看就會發現這些用Scala寫的文章

結構化資料計算的幾種方法

         任何資料都要通過計算來產生價值才有意義,大資料也一樣。結構化大資料的計算能力的高低決定了大資料的實用性。          我總結了幾種常見的計算方法:API 、Script、SQL、類SQL。        1、  API:這是指沒有使用JDBC或OD

資料分析中的挖掘技術

在大資料分析中,資料的挖掘技術是比較重要的,畢竟資料探勘是獲取資料來源的方式,我們都知道大資料分析是需要資料的,沒有資料何談分析?所以我們就需要重視大資料中的挖掘技術,下面我們就在這篇文章中給大家講述一下大資料分析中的挖掘技術。 首先我們給大家說一下大資料分析技術,大資料分析技術就是改進已有資料探勘和機

阿里雲播放器SDK的正確開啟方式 | 功能架構與應用

阿里雲播放器SDK(ApsaraVideo for Player SDK)是阿里視訊雲端到雲到端服務的重要一環,除了支援點播和直播的基礎播放功能外,還深度融合視訊雲業務,支援視訊的加密播放、安全下載、首屏秒開、低延時等業務場景,為使用者提供簡單、快速、安全、穩定的視訊播放

三末之初級前端面試

初來深圳 本來決定的是6.29就是週五的時候來深圳。突如其來的一個電話面試,我就提前過去了面試時間是週五上午10點。自信滿滿的自己覺得如果給我一次機會我就一定可以抓住。我覺得作為一個實習生自己已經完全可以勝任。 6.29上午匯才軟體深圳民治分公司 面對

資料開發之Hadoop工程師學習筆記

第一課:實施Hadoop叢集;CDH家族1.Hadoop大資料:目前軟體和硬體無法處理的資料稱為大資料。Hadoop擅長離線資料分析,有時間差,難以做實時資料處理。檔案系統是半隻讀資料,不能修該,只能追加,隨機讀寫很麻煩。Hadoop不是資料庫,Hbase才是資料庫。兩大板塊

資料分析師資料開發Hadoop開發工程師資料探勘演算法工程師的工資薪水到底怎麼樣?

據最新發布的《大資料人才報告》顯示,目前全國的大資料人才僅46萬,未來3-5年內大資料人才的缺口

資料:Spark Standalone 叢集排程如何建立分配Executors的資源

Standalone 的整體架構 在Spark叢集中的3個角色Client, Master, Worker, 下面的圖是Client Submit 一個任務的流程圖: 完整的流程:Driver 提交任務給Master, 由Master節點根據任務的引數對進行Worker

Java資料培訓學校全套教程-DHTML25-馬克-專題視訊課程

Java大資料培訓學校全套教程-DHTML(25)—9人已學習 課程介紹         Java大資料培訓學校全套教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是1)時下

Java資料培訓學校全套教程-DOM26-馬克-專題視訊課程

Java大資料培訓學校全套教程-DOM(26)—2人已學習 課程介紹         Java大資料培訓學校全套教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是1)時下流行

Java資料培訓學校全套教程-AJAX27-馬克-專題視訊課程

Java大資料培訓學校全套教程-AJAX(27)—2人已學習 課程介紹         Java大資料培訓學校視訊教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是1)時下流

Java資料培訓學校全套教程-JQUERY28-馬克-專題視訊課程

Java大資料培訓學校全套教程-JQUERY(28)—3人已學習 課程介紹         Java大資料培訓學校全套教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是1)時

Java資料培訓學校全套教程-SpringMVC29-馬克-專題視訊課程

Java大資料培訓學校全套教程-SpringMVC(29)—4人已學習 課程介紹         Java大資料培訓學校視訊教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是

Java資料培訓學校全套教程- Spring30-馬克-專題視訊課程

Java大資料培訓學校全套教程- Spring(30)—1人已學習 課程介紹         Java大資料培訓學校視訊教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是1)

Java資料培訓學校全套教程-Mybatis31-馬克-專題視訊課程

Java大資料培訓學校全套教程-Mybatis(31)—7人已學習 課程介紹         Java大資料培訓學校全套視訊教程:"java大資料培訓學校全套教材"系列課程由750集視訊構成,基本就 是