●目 錄篇 Hadoop技術 1章 大數據與Hadoop概述 031.1 大數據概述 031.1.1 大數據的定義 031.1.2 大數據行業的發展 041.1.3 大數據的典型應用 041.2 Hadoop概述 061.2.1 Hadoop簡介 061.2.2 Hadoop生態子項目 071.2.3 Hadoop 3.X的新特性 091.3 小結 091.4 配套視頻 10第2章 Hadoop偽分布式安裝 112.1 Hadoop偽分布式安裝前的準備 112.1.1 安裝VMware 112.1.2 安裝CentOS 7 122.1.3 配置CentOS 7:接受協議 152.1.4 配置CentOS 7:登錄繫統 162.1.5 配置CentOS 7:設置IP 162.1.6 配置CentOS 7:修改主機名 172.1.7 配置CentOS 7:配置hosts文件 182.1.8 配置CentOS 7:關閉防火牆 182.1.9 配置CentOS 7:禁用selinux 192.1.10 配置CentOS 7:設置SSH免密碼登錄 192.1.11 配置CentOS 7:重啟 202.2 Hadoop偽分布式安裝 212.2.1 安裝WinSCP 212.2.2 安裝PieTTY 222.2.3 安裝JDK 232.2.4 安裝Hadoop 242.3 Hadoop驗證 282.3.1 格式化 282.3.2 啟動Hadoop 292.3.3 查看Hadoop相關進程 292.3.4 瀏覽文件 302.3.5 瀏覽器訪問 302.4 小結 312.5 配套視頻 31第3章 Hadoop分布式文件繫統——HDFS 323.1 HDFS原理 323.1.1 HDFS的假設前提和設計目標 323.1.2 HDFS的組件 333.1.3 HDFS數據復制 363.1.4 HDFS健壯性 363.1.5 HDFS數據組織 383.2 HDFS Shell 393.2.1 Hadoop文件操作命令 393.2.2 Hadoop繫統管理命令 443.3 HDFS Java API 463.3.1 搭建Linux下Eclipse開發環境 463.3.2 為Eclipse安裝Hadoop插件 473.3.3 HDFS Java API示例 493.4 小結 563.5 配套視頻 56第4章 分布式計算框架MapReduce 574.1 MapReduce原理 574.1.1 MapReduce概述 574.1.2 MapReduce的主要功能 594.1.3 MapReduce的處理流程 594.2 MapReduce編程基礎 614.2.1 內置數據類型介紹 614.2.2 WordCount入門示例 634.2.3 MapReduce分區與自定義數據類型 674.3 MapReduce綜合實例——數據去重 714.3.1 實例描述 714.3.2 設計思路 724.3.3 程序代碼 734.3.4 運行結果 744.4 MapReduce綜合實例——數據排序 754.4.1 實例描述 754.4.2 設計思路 764.4.3 程序代碼 774.4.4 運行結果 794.5 MapReduce綜合實例——求學生平均成績 794.5.1 實例描述 794.5.2 設計思路 804.5.3 程序代碼 814.5.4 運行結果 834.6 MapReduce綜合實例——WordCount不錯示例 844.7 小結 874.8 配套視頻 87第二篇 Hadoop 生態繫統的主要大數據工具整合應用 89第5章 NoSQL數據庫HBase 915.1 HBase原理 915.1.1 HBase概述 915.1.2 HBase核心概念 925.1.3 HBase的關鍵流程 955.2 HBase偽分布式安裝 975.2.1 安裝HBase的前提條件 985.2.2 解壓並配置環境變量 985.2.3 配置HBase參數 995.2.4 驗證HBase 1005.3 HBase Shell 1035.3.1 HBase Shell常用命令 1035.3.2 HBase Shell綜合示例 1095.3.3 HBase Shell的全部命令 1125.4 小結 1145.5 配套視頻 114第6章 HBase不錯特性 1156.1 HBase Java API 1156.1.1 HBase Java API介紹 1156.1.2 HBase Java API示例 1206.2 HBase與MapReduce的整合 1306.2.1 HBase與MapReduce的整合概述 1306.2.2 HBase與MapReduce的整合示例 1306.3 小結 1346.4 配套視頻 134第7章 分布式數據倉庫Hive 1357.1 Hive概述 1357.1.1 Hive的定義 1357.1.2 Hive的設計特征 1367.1.3 Hive的體繫結構 1367.2 Hive偽分布式安裝 1377.2.1 安裝Hive的前提條件 1377.2.2 解壓並配置環境變量 1387.2.3 安裝MySQL 1397.2.4 配置Hive 1437.2.5 驗證Hive 1457.3 Hive QL的基礎功能 1467.3.1 操作數據庫 1467.3.2 創建表 1477.3.3 數據準備 1507.4 Hive QL的不錯功能 1537.4.1 select查詢 1547.4.2 函數 1547.4.3 統計函數 1547.4.4 distinct去除重復值 1557.4.5 limit限制返回記錄的條數 1567.4.6 為列名取別名 1567.4.7 case when then多路分支 1567.4.8 like模糊查詢 1577.4.9 group by分組統計 1577.4.10 having過濾分組統計結果 1577.4.11 inner join內聯接 1587.4.12 left outer join和right outer join外聯接 1597.4.13 full outer join外部聯接 1597.4.14 order by排序 1607.4.15 where查找 1607.5 小結 1617.6 配套視頻 162第8章 Hive不錯特性 1638.1 Beeline 1638.1.1 使用Beeline的前提條件 1638.1.2 Beeline的基本操作 1648.1.3 Beeline的參數選項與管理命令 1668.2 Hive JDBC 1678.2.1 運行Hive JDBC的前提條件 1678.2.2 Hive JDBC基礎示例 1678.2.3 Hive JDBC綜合示例 1698.3 Hive函數 1748.3.1 內置函數 1748.3.2 自定義函數 1758.4 Hive表的不錯特性 1818.4.1 外部表 1818.4.2 分區表 1828.5 小結 1858.6 配套視頻 185第9章 數據轉換工具Sqoop 1869.1 Sqoop概述與安裝 1869.1.1 Sqoop概述 1869.1.2 Sqoop安裝 1879.2 Sqoop導入數據 1899.2.1 更改MySQL的root用戶密碼 1899.2.2 準備數據 1909.2.3 導入數據到HDFS 1919.2.4 查看HDFS數據 1929.2.5 導入數據到Hive 1939.2.6 查看Hive數據 1939.3 Sqoop導出數據 1949.3.1 準備MySQL表 1949.3.2 導出數據到MySQL 1949.3.3 查看MySQL中的導出數據 1959.4 深入理解Sqoop的導入與導出 1969.5 小結 2039.6 配套視頻 2030章 內存計算框架Spark 20410.1 Spark入門 20410.1.1 Spark概述 20410.1.2 Spark偽分布式安裝 20510.1.3 由Java到Scala 20910.1.4 Spark的應用 21210.1.5 Spark入門示例 21710.2 Spark Streaming 22010.2.1 Spark Streaming概述 22010.2.2 Spark Streaming示例 22110.3 Spark SQL 22410.3.1 Spark SQL概述 22410.3.2 spark-sql命令 22510.3.3 使用Scala操作Spark SQL 22710.4 小結 22810.5 配套視頻 2291章 Hadoop及其常用組件集群安裝 23011.1 Hadoop集群安裝 23011.1.1 安裝並配置CentOS 23011.1.2 安裝JDK 23611.1.3 安裝Hadoop 23711.1.4 遠程復制文件 24111.1.5 驗證Hadoop 24211.2 HBase集群安裝 24411.2.1 解壓並配置環境變量 24411.2.2 配置HBase參數 24511.2.3 遠程復制文件 24611.2.4 驗證HBase 24711.3 Hive集群安裝 24911.3.1 解壓並配置環境變量 24911.3.2 安裝MySQL 25011.3.3 配置Hive 25211.3.4 驗證Hive 25411.4 Spark集群安裝 25411.4.1 安裝Scala 25411.4.2 安裝Spark 25411.4.3 配置Spark 25511.4.4 遠程復制文件 25611.4.5 驗證Spark 25711.5 小結 25911.6 配套視頻 259第三篇 實戰篇 2612章 海量Web日志分析繫統 26312.1 案例介紹 26312.1.1 分析Web日志數據的目的 26312.1.2 Web日志分析的典型應用場景 26512.1.3 日志的不確定性 26512.2 案例分析 26612.2.1 日志分析的KPI 26712.2.2 案例繫統結構 26712.2.3 日志分析方法 26812.3 案例實現 27312.3.1 定義日志相關屬性字段 27312.3.2 數據合法標識(在分析時是否被過濾) 27412.3.3 解析日志 27412.3.4 日志合法性過濾 27512.3.5 頁面訪問量統計的實現 27612.3.6 頁面獨立IP訪問量統計的實現 27812.3.7 用戶單位時間PV的統計實現 28012.3.8 用戶訪問設備信息統計的實現 28212.4 小結 28312.5 配套視頻 2833章 電商商品推薦繫統 28413.1 案例介紹 28413.1.1 推薦算法 28413.1.2 案例的意義 28513.1.3 案例需求 28513.2 案例設計 28613.2.1 協同過濾 28613.2.2 基於用戶的協同過濾算法 28913.2.3 基於物品的協同過濾算法 29213.2.4 算法實現設計 29513.2.5 推薦步驟與架構設計 29813.3 案例實現 29813.3.1 實現HDFS文件操作工具 29913.3.2 實現任務步驟1:彙總用戶對所有物品的評分信息 30213.3.3 實現任務步驟2:獲取物品同現矩陣 30513.3.4 實現任務步驟3:合並同現矩陣和評分矩陣 30713.3.5 實現任務步驟4:計算推薦結果 31013.3.6 實現統一的任務調度 31613.4 小結 31713.5 配套視頻 3174章 分布式垃圾消息識別繫統 31814.1 案例介紹 31814.1.1 案例內容 31814.1.2 案例應用的主體結構 31914.1.3 案例運行結果 32114.2 RPC遠程方法調用的設計 32214.2.1 Java EE的核心優勢:RMI 32214.2.2 RMI的基本原理 32414.2.3 自定義RPC組件分析 32514.3 數據分析設計 32814.3.1 垃圾消息識別算法——樸素貝葉斯算法 32814.3.2 進行分布式貝葉斯分類學習時的全局計數器 33014.3.3 數據清洗分析結果存儲 33214.4 案例實現 33314.4.1 自定義的RPC組件服務端相關實現 33314.4.2 自定義的RPC組件客戶端相關實現 34214.4.3 業務服務器實現 34714.4.4 業務客戶端實現 36714.5 小結 37014.6 配套視頻 370
內容簡介
本書以實戰開發為原則,以Hadoop 3.X生態繫統內的主要大數據工具整合應用及項目開發為主線,通過Hadoop大數據開發中常見的11個典型模塊和3個完整項目案例,詳細介紹HDFS、MapReduce、HBase、Hive、Sqoop、Spark等主流大數據工具的整合使用。本書附帶資源包括本書核心內容的教學視頻,本書所涉及的源代碼、參考資料等。全書共14章,分為3篇,涵蓋的主要內容有Hadoop及其生態組件偽分布式安裝和接近分布式安裝、分布式文件繫統HDFS、分布式計算框架MapReduce、NoSQL數據庫HBase、分布式數據倉庫Hive、數據轉換工具Sqoop、內存計算框架Spark、海量Web日志分析繫統、電商商品推薦繫統、分布式垃圾消息識別繫統等。本書內容豐富、案例典型、實用性強,適合各個層次希望學習大數據開發技術的人員閱讀,尤其適合有一定Java 基礎而要進行Hadoop應用開......