2. 大數據基礎

来源:https://www.cnblogs.com/shliujing/archive/2019/01/09/2-da-shu-ju-ji-chu.html
-Advertisement-
Play Games

前言幾個故事大數據都是騙人的,一頭豬悲催的豬數據不全不是大數據,不可信過去->將來啤酒尿布這個案例僅是一碗數據分析的“心靈雞湯”——聽起來很爽,但信不得!GFT 預測 H1N1搜索詞和H1N1敏感性關聯“預測即干涉”悖論和“菜農種菜”,過度擬合數據並非越大越好:谷歌流感趨勢錯在哪兒了?更準確的預測模... ...


前言

幾個故事

  • 大數據都是騙人的,一頭豬悲催的豬
    • 數據不全不是大數據,不可信
    • 過去->將來
  • 啤酒尿布
    • 這個案例僅是一碗數據分析的“心靈雞湯”——聽起來很爽,但信不得!
  • GFT 預測 H1N1

特性

  • 4V,有價值的,海量的,多樣化的,快速的(產生,處理)

挑戰

  • 對現有資料庫管理技術的挑戰
  • 經典資料庫並沒有考慮數據的多類別
  • 實時性的技術挑戰
  • 網路架構、數據中心、運維的挑戰。
  • 系統瓶頸:存儲容量、讀寫速度、計算效率
  • 其他挑戰:數據隱私、數據源的複雜多樣等

技術基礎

涉及數據採集、數據存儲、數據處理/分析/挖掘、可視化。學習上可以看書、博客、網站。

系統&語言

  • Linux
  • Shell
  • Java
  • Python
  • Scala - 多範式(multi-paradigm)的編程語言,設計初衷是要集成面向對象編程和函數式編程的各種特性
  • R - 用於統計分析,圖形表示和報告的編程語言和軟體環境

框架

  • Hadoop/Yarn - Apache基金會所開發的分散式系統基礎架構
  • HDFS - 分散式存儲系統,包含NameNode,DataNode
  • Hbase - 資料庫。非常適合用來做大數據的實時查詢。Facebook用Hbase存儲消息數據併進行消息實時的分析
  • Hive - 數據倉庫 可以用SQL查詢,可以運行Map/Reduce程式。用來計算趨勢或者網站日誌,不應用於實時查詢,需要很長時間返回結果。
  • Spark - Scala語言中實現的類似於Hadoop MapReduce的通用並行框架,除了Hadoop MapReduce所具有的優點,但不同於MapReduce的是job中間輸出結果可以保存在記憶體中,從而不需要讀寫HDFS,因此Spark能更好的適用於數據挖掘與機器學習等需要迭代的MapReduce演算法。
  • Kafka - 高吞吐量的分散式發佈訂閱消息系統,可以處理消費者規模的網站中的所有動作流數據(瀏覽,搜索等)。相對Hadoop的日誌數據和離線分析,可以實現實時處理。目前通過Hadoop的並行載入機制來統一線上和離線的消息處理

大數據計算模式

批處理計算

  1. MapReduce,分散式並行處理,離線計算
  2. Spark,實時,記憶體

流式計算

  1. Scribe ,Flume,Storm,S4,SparkStreaming
  2. 實時查詢,秒級響應

迭代計算

  1. HaLoop ,iMapReduce,Twister,Spark
  2. 逐步逼近,xk+1 - x^ = ε

圖計算

  1. Pregel, PowerGrapg, GraphX
  2. 圖和鄰接矩陣,鄰接表

ELK

需求

通常日誌由伺服器生成,輸出到不同的文件中,一般會有系統日誌、 應用日誌、安全日誌。這些日誌分散地存儲在不同的機器上。日誌數據在以下幾方面具有非常重要的作用:

  • 數據查找:通過檢索日誌信息,定位相應的 bug ,找出解決方案
  • 服務診斷:通過對日誌信息進行統計、分析,瞭解伺服器的負荷和服務運行狀態
  • 數據分析:可以做進一步的數據分析,比如根據請求中的課程 id ,找出 TOP10 用戶感興趣課程。

以前做法

通常當系統發生故障時,工程師需要登錄到各個伺服器上,使用 grep / sed / awk 等 Linux 腳本工具去日誌里查找故障原因。在沒有日誌系統的情況下,首先需要定位處理請求的伺服器,如果這台伺服器部署了多個實例,則需要去每個應用實例的日誌目錄下去找日誌文件。每個應用實例還會設置日誌滾動策略(如:每天生成一個文件),還有日誌壓縮歸檔策略等。

這樣一系列流程下來,對於我們排查故障以及及時找到故障原因,造成了比較大的麻煩。因此,如果我們能把這些日誌集中管理,並提供集中檢索功能,不僅可以提高診斷的效率,同時對系統情況有個全面的理解,避免事後救火的被動。

現在做法

針對這些問題,為了提供分散式的實時日誌搜集和分析的監控系統,我們採用了業界通用的日誌數據管理解決方案 - 它主要包括 Elasticsearch 、 Logstash 和 Kibana 三個系統。通常,業界把這套方案簡稱為ELK,取三個系統的首字母。3個系統作用:

  • Logstash :數據收集處理引擎。支持動態的從各種數據源搜集數據,並對數據進行過濾、分析、豐富、統一格式等操作,然後存儲以供後續使用。
  • Kibana :可視化化平臺。它能夠搜索、展示存儲在 Elasticsearch 中索引數據。使用它可以很方便的用圖表、表格、地圖展示和分析數據。
  • Elasticsearch :分散式搜索引擎。具有高可伸縮、高可靠、易管理等特點。可以用於全文檢索、結構化檢索和分析,並能將這三者結合起來。Elasticsearch 基於 Lucene 開發,現在使用最廣的開源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基於它來構建自己的搜索引擎。

其他

大數據,雲計算,物聯網

  1. 大數據技術維度:數據採集,分析處理,存儲,隱私保護,可視化處理
  2. 雲計算的關鍵技術:虛擬化、分散式存儲、分散式計算、多租戶(數據隔離、客戶化配置、架構擴展、性能定製)等。
  3. 物聯網的技術架構:感知層、網路層、處理層、應用層。物聯網的關鍵技術:識別和感知技術、網路和通信技術、數據挖掘和融合技術。
  4. 區別,大數據側重對海量數據的存儲、處理、分析,發現價值,服務生活;雲計算本質旨在整合和優化各種IT資源並通過網路以服務的方式,廉價地提供給用戶;物聯網的發展目標是實現物物相連,應用創新是物聯網發展的核心

參考文檔


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • mysql學習【第1篇】:初始MySQL 只會寫代碼的是碼農;學好資料庫,基本能混口飯吃;在此基礎上再學好操作系統和電腦網路,就能當一個不錯的程式員。如果能再把離散數學、數字電路、體繫結構、數據結構/演算法、編譯原理學通透,再加上豐富的實踐經驗與領域特定知識,就能算是一個優秀的工程師了。 為什麼學習 ...
  • 正文 之前安裝Oracle 11g R2資料庫軟體都是建立在圖形界面上的,不過現在大部分伺服器上都沒有安裝圖形界面。圖形界面安裝較為方便,安裝選項清晰,步驟明確,但Oracle還支持另一種安裝方式,就是通過響應文件(response file)靜默方式安裝。這對於沒有安裝圖形界面組件的伺服器來說十分 ...
  • 在CentOS 7中預設安裝有MariaDB,但是我們需要的是MySQL,安裝MySQL可以覆蓋MariaDB。 (註:MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險, ...
  • 線程池 簡介 1、mysql每連接每線程,mysql都分配一個單獨的線程,該線程處理客戶端發來的所有命令 2、每個線程會占用一定的系統資源,線程數越多消耗的系統資源也越多 3、線程的創建和銷毀有一定的開銷 4、當線程數過多時,如果大部分線程都處於活躍狀態,會導致頻繁的上下文切換,從而造成系統巨大的開 ...
  • 導出完成後在狀態欄中顯示Find ...
  • 節點一 alert日誌: PDB(17):Transaction recovery: lock conflict caught and ignored PDB(17):Transaction recovery: lock conflict caught and ignored PDB(17):Tra ...
  • mysql從5.0版本開始支持存儲過程、存儲函數、觸發器和事件功能的實現。 我們以一本書中的例題為例:創建xscj資料庫的存儲過程,判斷兩個輸入的參數哪個更大。並調用該存儲過程。 (1)調用 首先,創建存儲過程(procedure),名為xscj.compar 執行結果如下: 在上邊的語句中: cr ...
  • 報錯原因: 報這個錯是因為MySQL8使用了 caching_sha2_password 加密方式而之前MySQL使用的是 mysql_native_password 加密方式,而你的Navicat不支持 caching_sha2_password 加密方式造成的。 解決方案: 目前我知道的解決方案 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...