原创 Scala常用知識點總結

目錄Scala中的基本數據類型Scala中的方法object class 以及伴生對象Scala的構造器繼承Scala高階函數讀取文件 IO集合函數賦值給變量匿名函數函數的currying 柯里化隱式轉換模式匹配偏函數:Parti

原创 Hive_03 Hive on Hadoop執行流程

常用的SQL不外乎分爲兩種 select yyy, 聚合函數 from xxx group by yyy; select a.*, b.* from a join b on a.id=b.id; SQL

原创 Hive_02統計各個城市下最受歡迎的TopN產品

目錄概述步驟 概述 需求:統計各個城市所屬區域下最受歡迎的Top 3產品 分析:各個城市的TopN產品,是分組求TopN問題,需要使用窗口函數 數據:城市區域對應信息、產品信息表以及用戶點擊日誌 其中 城市區域對應信息、產品信息表

原创 Java、Scala、Hive中“值匹配”的不同寫法

Java的switch case switch(表達式){ case 常量1: 語句1; // break; case 常量2: 語句2; // break; … … case 常量N: 語句N; // br

原创 大數據中的壓縮

目錄壓縮優缺點壓縮格式壓縮的使用場景MapTask的決定因素 壓縮優缺點 優點:節省磁盤空間,提升磁盤利用率,加速磁盤/網絡IO; 缺點:解壓/壓縮是需要CPU的,壓縮會使集羣cpu利用率高,所以當集羣負載高了就不要使用壓縮了;

原创 Spark Core優化

Spark Tuning概述: Spark Program的瓶頸: CPU: memory: CPU和memory合稱爲資源 network bandwidth: Spark哪些地方可以優化: storing RDDs in s

原创 Spark Shell

學會抄代碼 很多作業都需要腳本來啓動 1)瞭解Spark-Shell的啓動流程 2)抄抄抄 Shell script for starting the Spark Shell REPL //REPL: Read-Evaluat

原创 DataFrame

DataFrame val df = spark.read.json(“file:///home/xxxxxxxx.json”) //底層是外部數據源 df.show df.printSchema 定義Schema val str

原创 Spark Shuffle

shuffle是一個re-distributing data 重新分發數據的過程; map tasks to organize the data reduce tasks to aggregate it individual

原创 Flume小結

Web/Application Server(Nginx)========>HDFS collect 日誌類型:access日誌:訪問、請求、客戶端、agent信息,與業務無關的; ugc日誌:業務相關日誌; collect方法:

原创 Spark Core練習

Spark如何進行大數據業務處理: 拿到需求之後: 1) 分析 2) 功能拆解:中文描述 <== 詳細設計說明書 3) 代碼的開發:代碼實現 2. 生產上邊界值 ==> 使得你的代碼具有健壯性 事先考慮一些異常。 避免因爲一些

原创 Spark SQL外部數據源

Data Source(1.2)概述 源端 ==> MapReduce/Hive/Spark ===> 目標端 業務邏輯處理都是在引擎層面來考慮 load ======> ETL/… ======> save 存在的問題:

原创 Spark SQL

Spark SQL: SparkSQL 是用來處理結構化數據的 結構化數據:SQL ORC/Parquet/Json SparkSQL 1.0出來的 1.3畢業的 爲什麼需要SQL? 對數據進行分析 方便易用 面廣 但是原有的

原创 Java比較器

目錄爲什麼需要比較器實現Comparable接口: 自然排序實現Comparator接口: 定製排序 爲什麼需要比較器 比較器是用來比較對象的大小 正常情況下:對象只能進行比較:== != 而不能使用> 或者 < 但在開發場景

原创 Java集合

目錄集合概述Collection接口Collection接口常用方法迭代器接口Iterator使用Iterator遍歷CollectionCollection 和 Iterator 的remove 方法的區別加強 for 循環用於