原创 lateral view、explode、 posexplode,解決一道面試題

核心: lateral view explode posexplode 1 . 朋友推薦崗面試題 有如下一個數據表rec_list_info,其中有id字段,array字段(長度不相同),額外信息字段(json格式),現要求查詢結

原创 《Hive編程指南學習》:HQL基礎、HQL優化

HQL基礎與優化1 HQL數據定義2 HQL數據操作3 HQL查詢3.1 select3.2 where3.3 什麼情況下Hive可以避免進行MapReduce? Hive優化爲文中標黃的內容。 1 HQL數據定義 //數據庫中,

原创 OLTP與OLAP

OLTP與OLAP學習一、OLTP二、OLAP 一、OLTP OLTP(on-line transaction processing),聯機事務處理。OLTP是傳統關係型數據庫的主要應用。 二、OLAP OLAP(on-line

原创 Spark性能優化—基礎篇

內容學習自美團技術團隊和馬中華老師,向前輩致敬。 1 Spark開發中性能優化的基本原則 避免創建重複的RDD val rdd1 = sc.textFile("hdfs://192.168.0.1:9000/hello.t

原创 SchedulerBackend詳解及源碼介紹

SchedulerBackend涉及到Netty的知識,筆者尚未理解,先寫一部分,後面會持續補充。 1 SchedulerBackend是什麼? 首先看SchedulerBackend在Spark中的使用。 如源碼1,最初,在Sp

原创 專利申請問題

1 發送時提出,客戶端不是最新版。並且更新時,提示沒有安裝updateSipo。 (1)數據備份。系統設置——>數據備份。 (2)導出正在編寫的專利,即案卷備份。案卷管理——>輸入發明名稱,查詢——>案卷導出。 (3)卸載CPC客

原创 Spark的產生

Spark與MapReduce 的對比 減少磁盤IO MapReduce:基於磁盤。mapper的結果會存儲到磁盤,reducer從磁盤讀取數據,結果再存儲到磁盤。 Spark:基於內存。中間結果存儲到內存中。(實在存不下,纔會

原创 Spark的任務執行流程及對應源碼

1 將任務打成jar包 2 調用spark-submit腳本提交到集羣上運行 3 運行sparkSubmit的main方法,在這個方法中通過反射的方式創建我們編寫的主類的實例對象,然後調用main方法,開始執行我們的代碼。(Spa

原创 TaskScheduler詳解及源碼介紹

TaskScheduler負責提交任務,並且請求集羣管理器調度任務。 提交任務 請求集羣管理器調度任務 Spark的集羣管理器有三種:獨立集羣管理器、Hadoop Yarn、Apache Mesos。可以參考Spark集羣管理器

原创 操作系統

1 進程和線程的區別 參考文獻:一道面試題:說說進程和線程的區別 最小單位 進程是資源分配的最小單位,線程是程序執行的最小單位。 資源消耗:創建、切換 每創建一個進程,系統就會爲它分配一個地址空間,需要建立數據表來維護代碼段、堆

原创 HDFS

1 讀寫數據流程 參考文獻: [1] HDFS讀寫流程 [2] HDFS讀寫流程(史上最精煉詳細) 1.1 讀流程 client訪問NameNode,查詢元數據信息,獲得這個文件的數據塊位置列表,返回輸入流對象。 客戶端併發的

原创 SQL

1 列舉至少3個Mysql的具體優化? 參考文獻:小米和京東的4道關於Dubbo、Zookeeper等的面試題 (1)適當的對錶裏的字段建立索引 索引是提高數據庫性能的常用方法,它可以令數據庫服務器以比沒有索引快得多的速度檢索特定

原创 zookeeper

1 zookeeper是什麼 參考文獻:Zookeeper可以幹什麼 zookeeper爲分佈式應用程序提供一致性協調服務,包括配置維護、域名服務、分佈式鎖、集羣管理等。 配置維護 同一個應用程序在不同服務器上的配置信息相同。將

原创 Hive

1 數據傾斜 參考文獻: [1] Hive的數據傾斜 什麼是數據傾斜? 由於數據分佈不均勻,造成數據大量的集中到一點,造成數據熱點 主要表現 reduce任務進度長時間維持在 99%或者 100%的附近,查看任務監控頁面,發現只

原创 Hadoop

1 Hadoop集羣的守護進程和相關的角色 參考自:50個Hadoop的面試問題 Namenode:運行在主節點上,負責存儲元數據。它管理文件的塊信息,以及塊在集羣中分佈的信息。 Datanode:在從節點上,實際存儲數據。它定