大數據技術(微課版)

曹潔、孫玉勝

  • 出版商: 清華大學
  • 出版日期: 2020-08-01
  • 定價: $354
  • 售價: 8.0$283
  • 語言: 簡體中文
  • ISBN: 7302553637
  • ISBN-13: 9787302553632
  • 相關分類: 大數據 Big-data
  • 立即出貨 (庫存=1)

  • 大數據技術(微課版)-preview-1
  • 大數據技術(微課版)-preview-2
  • 大數據技術(微課版)-preview-3
大數據技術(微課版)-preview-1

買這商品的人也買了...

商品描述

本書系統地講解了大數據處理常用技術,具體包括大數據處理架構Hadoop、分佈式文件系統HDFS、MapReduce編程模型、分佈式數據庫Hbase、NoSQL數據庫、Spark分佈式內存計算、MapReduce應用開發、Spark SQL編程、數據可視化。本書編寫特色理論與具體操作相結合,較低基礎入門大數據技術。讀者對象是本科、專科或研究生大數據技術課程教材,大數據技術愛好者,其他對大數據技術感興趣的人員。

目錄大綱

第1章大數據概述1

1.1大數據的基本概念1

1.1.1大數據的定義1

1.1.2大數據的特徵1

1.2大數據技術2

1.2.1數據採集技術2

1.2.2數據預處理技術3

1.2.3雲計算技術3

1.2.4分佈式處理技術6

1.2.5數據存儲技術6

1.3大數據計算模式與典型系統7

1.3.1批處理計算模式與典型系統7

1.3.2流式計算模式與典型系統7

1.3.3迭代計算模式與典型系統8

1.3.4圖計算模式與典型系統8

1.3.5內存計算模式與典型系統8

1.4習題8

第2章大數據軟件基礎9

2.1Linux基礎9

2.1.1命令格式9

2.1.2用戶管理10

2.1.3文件操作12

2.1.4目錄操作15

2.1.5文件壓縮和解壓縮命令17

2.1.6安裝和卸載軟件18

2.1.7主機名更改19

2.2Java語言基礎202.2.1基本數據類型20

2.2.2主類結構21

2.2.3定義類24

2.2.4類的實例化26

2.2.5包28

2.2.6常用實用類31

2.3SQL基礎33

2.4在VirtualBox上安裝虛擬機34

2.4.1Master節點的安裝34

2.4.2復制虛擬機41

2.5習題45

大數據技術(微課版)目錄第3章Hadoop大數據處理架構46

3.1Hadoop概述46

3.1.1Hadoop簡介46

3.1.2Hadoop特性46

3.2Hadoop生態系統47

3.2.1Hadoop分佈式文件系統47

3.2.2MapReduce分佈式計算模型48

3.2.3Hive數據倉庫49

3.2.4HBase分佈式數據庫49

3.2.5Zookeeper分佈式協調服務49

3.2.6Sqoop數據導入導出工具50

3.2.7Pig數據分析50

3.2.8Mahout數據挖掘算法庫50

3.2.9Flume日誌收集工具51

3.2.10Oozie作業流調度系統51

3.2.11Spark分佈式內存計算51

3.2.12Tez有向無環圖計算52

3.2.13Storm流數據處理52

3.3Hadoop的安裝與使用53

3.3.1安裝Hadoop前的準備工作53

3.3.2下載Hadoop安裝文件55

3.3.3Hadoop單機模式配置56

3.3.4Hadoop偽分佈式模式配置56

3.3.5Hadoop分佈式模式配置60

3.4習題69

第4章Hadoop分佈式文件系統70

4.1分佈式文件系統的結構70

4.1.1主控服務器71

4.1.2數據服務器72

4.1.3客戶端73

4.2HDFS的基本特徵73

4.3HDFS存儲架構及組件功能74

4.3.1HDFS存儲架構74

4.3.2數據塊74

4.3.3數據節點75

4.3.4名稱節點76

4.3.5第二名稱節點77

4.3.6心跳消息77

4.3.7客戶端77

4.4HDFS文件讀寫流程77

4.4.1HDFS讀文件流程78

4.4.2HDFS寫文件流程79

4.5HDFS的Shell操作80

4.5.1查看命令使用方法80

4.5.2HDFS常用的Shell操作81

4.5.3HDFS管理員命令86

4.5.4HDFS的Java API操作86

4.5.5利用HDFS的Web管理頁面87

4.6HDFS編程實踐87

4.6.1安裝eclipse88

4.6.2在eclipse中創建項目89

4.6.3為項目添加需要用到的JAR包90

4.6.4編寫Java應用程序92

4.6.5編譯運行程序94

4.6.6應用程序的部署95

4.7習題97

第5章MapReduce分佈式計算框架99

5.1MapReduce概述99

5.1.1並發、並行與分佈式編程的概念99

5.1.2MapReduce並行編程模型100

5.1.3Map函數和Reduce函數100

5.2MapReduce的工作原理101

5.2.1MapReduce的體系架構101

5.2.2MapTask的工作原理103

5.2.3ReduceTask的工作原理104

5.3MapReduce編程類105

5.3.1InputFormat輸入格式類105

5.3.2Mapper基類110

5.3.3Combiner合並類112

5.3.4Partitioner分區類112

5.3.5Sort排序類113

5.3.6Reducer類113

5.3.7輸出格式類OutputFormat116

5.4MapReduce經典案例117

5.4.1WordCount執行流程示例117

5.4.2WordCount具體實現119

5.4.3使用eclipse編譯運行詞頻統計程序124

5.5習題129

第6章HBase分佈式數據庫130

6.1HBase概述130

6.1.1HBase的技術特點130

6.1.2HBase與傳統關系數據庫的區別130

6.1.3HBase與Hadoop中其他組件的關系131

6.2HBase系統架構和訪問接口132

6.2.1HBase系統架構132

6.2.2ROOT表和.META.表135

6.2.3HBase訪問接口137

6.3HBase數據表138

6.3.1HBase數據表邏輯視圖138

6.3.2HBase數據表物理視圖140

6.3.3HBase數據錶面向列的存儲141

6.3.4HBase數據表的查詢方式142

6.3.5HBase表結構設計143

6.4HBase安裝143

6.4.1下載安裝文件143

6.4.2配置環境變量143

6.4.3添加用戶權限144

6.4.4查看HBase版本信息144

6.5HBase配置145

6.5.1單機運行模式配置145

6.5.2偽分佈式運行模式配置146

6.6HBase常用Shell命令148

6.6.1基本命令149

6.6.2創建表150

6.6.3插入與更新表中的數據152

6.6.4查看表中的數據152

6.6.5刪除表中的數據154

6.6.6表的啟用/禁用155

6.6.7修改表結構155

6.6.8刪除HBase表156

6.7常用的Java API156

6.7.1HBase數據庫管理API156

6.7.2HBase數據庫表API157

6.7.3HBase數據庫表行列API159

6.8HBase編程161

6.8.1在eclipse中創建項目161

6.8.2添加項目需要用到的JAR包162

6.8.3編寫Java應用程序163

6.8.4編譯運行程序166

6.9習題167

第7章NoSQL數據庫168

7.1NoSQL數據庫概述168

7.1.1NoSQL數據庫興起的原因168

7.1.2NoSQL數據庫的特點169

7.2“鍵值”數據庫169

7.2.1Redis安裝170

7.2.2Redis數據庫的特點171

7.2.3Redis數據庫的基本數據類型171

7.3列族數據庫177

7.4文檔數據庫177

7.4.1MongoDB簡介177

7.4.2MongoDB下載與安裝177

7.4.3MongoDB文檔操作181

7.4.4MongoDB集合操作185

7.4.5MongoDB數據庫操作186

7.4.6MongoDB數據類型187

7.5圖數據庫188

7.5.1下載和安裝Neo4j189

7.5.2Neo4j的啟動和停止189

7.5.3Neo4j的CQL操作191

7.5.4在Neo4j瀏覽器中創建節點和關系194

7.6習題196

第8章Scala基礎編程197

8.1Scala特性197

8.2Scala安裝198

8.2.1用IntelliJ IDEA搭建Scala開發環境198

8.2.2用scala.msi搭建Scala開發環境202

8.3Scala數據類型203

8.4Scala常量和變量204

8.4.1常量204

8.4.2變量205

8.5Scala數組、列表、集合和映射205

8.5.1定長數組206

8.5.2變長數組208

8.5.3列表209

8.5.4集合210

8.5.5映射211

8.6Scala控制結構212

8.6.1條件表達式212

8.6.2if…else選擇結構213

8.6.3編寫Scala腳本213

8.6.4循環214

8.7Scala函數215

8.7.1函數定義215

8.7.2匿名函數216

8.7.3高階函數217

8.8Scala類217

8.9Scala讀寫文件218

8.10習題219

第9章Python基礎編程220

9.1Python安裝220

9.2Python代碼編寫方式221

9.2.1用帶圖形界面的Python Shell編寫交互式代碼221

9.2.2用帶圖形界面的Python Shell編寫程序代碼221

9.3Python對象和引用222

9.3.1對象的身份223

9.3.2對象的類型223

9.3.3對象的值223

9.3.4對象的引用223

9.4Python基本數據類型224

9.4.1數值數據類型224

9.4.2字符串數據類型225

9.4.3列表數據類型231

9.4.4元組數據類型236

9.4.5字典數據類型238

9.4.6集合數據類型242

9.4.7Python數據類型之間的轉換244

9.5Python中的數據輸入244

9.6Python中的數據輸出245

9.6.1表達式語句輸出245

9.6.2print函數輸出245

9.6.3字符串對象的format方法的格式化輸出247

9.7Python中文件的基本操作248

9.8選擇結構249

9.8.1選擇語句249

9.8.2條件表達式250

9.9循環結構250

9.9.1while循環250

9.9.2for循環251

9.9.3循環中的break、continue和else252

9.10函數252

9.10.1定義函數252

9.10.2函數調用253

9.11類255

9.11.1定義類255

9.11.2創建類的對象256

9.12習題257

第10章Spark分佈式內存計算258

10.1Spark概述258

10.1.1Spark產生背景258

10.1.2Spark的優點259

10.1.3Spark應用場景259

10.1.4Spark生態系統261

10.2Spark的安裝及配置261

10.2.1Spark安裝的基礎環境261

10.2.2下載安裝文件262

10.2.3單機模式配置262

10.2.4偽分佈式模式配置263

10.3使用Spark Shell編寫Scala代碼264

10.3.1啟動Spark Shell265

10.3.2退出Spark Shell266

10.4Spark核心數據結構RDD266

10.4.1RDD創建266

10.4.2RDD操作268

10.4.3RDD屬性275

10.4.4RDD持久化277

10.5Spark運行機制278

10.5.1Spark基本概念278

10.5.2Spark運行架構281

10.5.3Spark應用執行基本流程282

10.6使用Scala語言編寫Spark應用程序283

10.6.1安裝sbt283

10.6.2編寫詞頻統計Scala應用程序284

10.6.3用sbt打包Scala應用程序285

10.6.4通過sparksubmit運行程序286

10.7使用Python語言編寫Spark應用程序286

10.7.1SparkContext287

10.7.2pyspark對RDD的轉換操作289

10.7.3pyspark對RDD的行動操作290

10.8習題292

第11章Spark SQL編程293

11.1Spark SQL概述293

11.2Spark SQL與Shell交互293

11.3DataFrame對象的創建294

11.3.1使用parquet格式文件創建DataFrame294

11.3.2使用JSON數據文件創建DataFrame295

11.3.3使用RDD創建DataFrame296

11.4DataFrame對象上的常用操作296

11.4.1內容查看297

11.4.2過濾299

11.4.3分組與聚合299

11.4.4獲取所有數據到數組299

11.4.5獲取所有數據到列表300

11.4.6獲取指定字段的統計信息300

11.5習題300

第12章數據可視化301

12.1Tableau繪圖301

12.1.1Tableau的主要特性301

12.1.2Tableau工作表工作區302

12.1.3Tableau儀表板工作區307

12.1.4Tableau故事工作區308

12.1.5Tableau菜單欄310

12.1.6Tableau可視化與數據分析舉例311

12.2ECharts繪圖312

12.2.1ECharts的特點312

12.2.2ECharts環境搭建313

12.2.3使用Dreamweaver 8創建網頁313

12.2.4使用Echarts繪制折線圖314

12.2.5使用Echarts繪制柱狀圖318

12.2.6使用Echarts繪制餅圖320

12.2.7使用Echarts繪制雷達圖322

12.3PyeCharts繪圖324

12.3.1繪制柱狀圖325

12.3.2繪制折線圖327

12.3.3繪制餅圖329

12.3.4繪制雷達圖330

12.3.5繪制漏鬥圖331

12.3.6繪制3D立體圖332

12.3.7繪制詞雲圖333

12.4習題334

參考文獻335