欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到云服務器

技術知識庫

大數據技術的核心包括哪些方面?

大數據在經濟發展中的重大意義,并不意味著它可以取代一切對社會問題的理性思考,科學發展的邏輯不能迷失在海量數據中。大數據技術體系龐大而復雜,基礎技術包括數據采集、數據預處理、分布式存儲、NoSQL數據庫、數據倉庫、機器學習、并行計算和可視化等多種技術門類和不同技術水平。

一、數據存儲

Hadoop作為一個開源框架,是專門為離線和大規模數據分析而設計的,而HDFS作為其核心存儲引擎,在數據存儲中得到了廣泛應用。HBase是一個分布式的、面向列的開源數據庫,可以看作是hdfs的封裝,其本質是數據存儲和NoSQL數據庫。HBase是一個Key/Value系統,部署在hdfs上,克服了hdfs在隨機讀寫方面的缺點。和hadoop一樣,Hbase主要依靠橫向擴展,通過增加廉價的商用服務器來增加計算和存儲容量。Phoenix相當于一個Java中間件,它幫助開發工程師訪問NoSQL數據庫,就像使用JDBC訪問關系數據庫一樣。

大數據技術的核心包括哪些方面?

紗線是一個Hadoop資源管理器,可以為上層應用提供統一的資源管理和調度。它的引入在利用率、統一資源管理和數據共享方面給集群帶來了巨大的好處。紗線由以下組件組成:全局資源管理器、資源管理器的每個節點代理的節點管理器、代表每個應用程序的應用程序,以及每個應用程序主控器在節點管理器上運行多個容器。Mesos是一個開源的集群管理軟件,支持Hadoop、ElasticSearch、Spark、Storm和Kafka。Redis是一個速度非常快的非關系數據庫,可以存儲鍵和五種不同類型的值之間的映射,將內存中存儲的鍵值對數據持久化到硬盤上,使用復制特性來擴展性能,還可以使用客戶端分片來擴展寫入性能。

Atlas是介于應用程序和MySQL之間的中間件。在后端DB的視圖中,Atlas相當于與其連接的一個客戶端,在前端應用的視圖中,Atlas相當于一個DB。Atlas作為服務器,與應用程序進行通信,應用程序實現了MySQL的客戶端和服務器協議,與MySQL作為客戶端進行通信。它對應用屏蔽了數據庫的細節,還維護了連接池,以減輕MySQL的負擔。啟動Atlas后,會創建多個線程,其中一個為主線程,其余為工作線程。主線程負責監聽所有客戶端連接請求,而工作線程只監聽主線程的命令請求。隨著互聯網科技的蓬勃發展,人工智能時代即將到來,所以抓住下一個窗口。幫助那些想向互聯網方向學習,但因為時間和資源不足而放棄的人。

Kudu是圍繞Hadoop生態系統構建的存儲引擎。Kudu與Hadoop生態系統有著相同的設計理念。它運行在普通服務器上,可以大規模分布式部署,滿足行業高可用性要求。設計理念是對快速數據進行快速分析。作為一個開源存儲引擎,它可以提供低延遲的隨機讀寫和高效的數據分析。Kudu不僅提供了用于插入、更新和刪除的行級API,還提供了接近Parquet性能的批量掃描操作。使用相同的存儲不僅可以隨機讀寫,還可以滿足數據分析的要求。Kudu有廣泛的應用,例如實時數據分析和數據可能變化的時間序列數據應用。在數據存儲過程中,涉及的數據表有數百列,其中包括各種復雜的Query。建議采用拼花、ORC等列存儲方式壓縮數據。拼花地板可以支持靈活的壓縮選項,并顯著減少磁盤上的存儲。

二、數據查詢和分析

Hive的核心工作是將SQL語句翻譯成MR程序,可以將結構化數據映射成數據庫表,并提供HQL(Hive SQL)查詢功能。Hive本身并不存儲和計算數據,它完全依賴于HDFS和MapReduce。Hive可以理解為一個客戶端工具,將SQL操作轉換成相應的MapReduce作業,然后在hadoop上運行。Hive支持標準的SQL語法,這消除了用戶編寫MapReduce程序的需要。它的出現使精通SQL技能但不熟悉MapReduce、編程能力弱、不擅長Java語言的用戶能夠方便地在HDFS大規模數據集上查詢、匯總和分析數據。Hive是為批量處理大數據而誕生的。Hive的出現解決了傳統關系數據庫(MySql、Oracle)處理大數據的瓶頸。Hive將執行計劃分為map-> shuffle-> reduce-> map-> shuffle-> reduce…如果一個查詢被編譯成多輪MapReduce,會有更多的中間結果。由于MapReduce執行框架本身的特點,過多的中間進程會增加整個Query的執行時間。在Hive的運行過程中,用戶只需要創建表、導入數據、編寫SQL分析語句。這個過程的其余部分由Hive框架自動完成。

大數據技術的核心包括哪些方面?

Impala是Hive的補充,可以實現高效的SQL查詢。Impala用于在Hadoop上實現SQL,對大數據進行實時查詢和分析。通過大家熟悉的傳統關系數據庫的SQL風格來操作大數據,數據也可以存儲在HDFS和HBase中。Impala不再使用速度慢的Hive+MapReduce批處理,而是使用類似于商用并行關系數據庫中的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine組成),可以直接查詢來自HDFS或HBase的數據,具有SELECT、JOIN和統計功能,大大降低了延遲。Impala將整個查詢分成一個執行計劃樹,而不是一系列MapReduce任務。與Hive相比,Impala沒有MapReduce啟動時間。

Hive適合長期批量查詢分析,而Impala適合實時交互SQL查詢。Impala為數據人員提供了一個大數據分析工具,可以快速實驗和驗證他們的想法。先用Hive進行數據轉換,再用Impala對Hive處理的數據集進行快速數據分析。一般來說,Impala將執行計劃表示為一個完整的執行計劃樹,可以更自然地將執行計劃分配給每個Impala來執行查詢,而不是像Hive那樣組合成流水線映射->reduce模式,從而保證Impala具有更好的并發性,避免不必要的中間排序和洗牌。然而,Impala并不支持UDF,它所能處理的問題也有一定的局限性。Spark具有Hadoop MapReduce的特點,它將Job的中間輸出結果保存在內存中,因此不需要讀取HDFS。Spark支持內存分布式數據集,不僅可以提供交互式查詢,還可以優化迭代工作負載。Spark是用Scala語言實現的,它使用Scala作為應用框架。與Hadoop不同,Spark和Scala可以緊密集成,其中Scala可以像本地收集對象一樣輕松操作分布式數據集。Nutch是一個開源的Java搜索引擎。它提供了我們運行自己的搜索引擎所需的所有工具,包括全文搜索和網絡爬蟲。

Solr是一個用Java編寫的全文搜索服務器,運行在Servlet容器(如Apache Tomcat或Jetty)中。它提供了類似Web-service的API接口,用戶可以通過http請求向搜索引擎服務器提交一定格式的XML文件,生成索引。也可以通過Http Get操作進行搜索請求,得到XML格式的返回結果。Elasticsearch是一個開源全文搜索引擎,基于Lucene搜索服務器,能夠快速存儲、搜索和分析海量數據。它專為云計算而設計,可以實現實時搜索,穩定、可靠、快速,并且易于安裝和使用。它還涉及一些機器學習語言。例如,Mahout的主要目標是創建一些可擴展的機器學習算法,供開發人員在Apache的許可下免費使用。深度學習框架Caffe,使用數據流圖進行數值計算的開源軟件庫TensorFlow,以及其他常用的機器學習算法,如貝葉斯、邏輯回歸、決策樹、神經網絡、協同過濾等。

三、數據采集和預處理

對于來自各種來源的數據,包括移動互聯網數據、社交網絡數據等。這些海量的結構化和非結構化數據是分散的,也就是所謂的數據孤島。這個時候,這些數據就沒有意義了。數據采集就是將這些數據寫入數據倉庫,將分散的數據整合在一起,對這些數據進行綜合分析。數據收集包括文件日志收集、數據庫日志收集、關系數據庫訪問和應用程序訪問等。當數據量相對較少時,可以編寫一個正則腳本將日志寫入存儲系統。但是隨著數據量的增加,這些方法無法提供數據安全,操作維護難度大,需要更強的解決方案

大數據技術的核心包括哪些方面?

作為一個實時日志采集系統,Flume NG支持在日志系統中定制各種數據發送器進行數據采集,同時對數據進行簡單處理后寫入各種數據接收器(如text、HDFS、Hbase等)。水槽NG采用三層:藥劑層、收集器層和儲存層,每層均可水平展開。代理包括源、通道和接收器。Source用于將數據源消費(收集)到通道組件中,channel作為中間臨時存儲來存儲source的所有組件信息。接收器從通道讀取數據,并在成功讀取后刪除通道中的信息。網易數據運河NDC,字面意思是網易數據運河系統,是一個用于實時數據遷移、同步和訂閱結構化數據庫的平臺解決方案。它集成了網易過去在數據傳輸領域的各種工具和經驗,通過數據鏈路將單機數據庫、分布式數據庫、OLAP系統和下游應用連接在一起。除了確保高效的數據傳輸,NDC的設計遵循統一和平臺化的理念。

Logstash是一個開源的服務器端數據處理管道,可以同時從多個來源收集和轉換數據,然后將數據發送到您最喜歡的“存儲庫”。一個常見的存儲庫是Elasticsearch。Logstash支持各種輸入選項,可以同時從許多常見的數據源中捕獲事件,并且可以以連續流模式輕松地從您的日志、指示器、Web應用程序、數據存儲和各種AWS服務中收集數據。Sqoop是一種在關系數據庫和Hadoop之間傳輸數據的工具。它可以將關系數據庫(如Mysql和Oracle)中的數據導入Hadoop(如HDFS、Hive和Hbase),也可以將Hadoop(如HDFS、Hive和Hbase)中的數據導入關系數據庫(如Mysql和Oracle)。Sqoop使MapReduce作業(容錯能力極強的分布式并行計算)能夠執行任務。Sqoop的另一個優勢是,它傳輸大量結構化或半結構化數據的過程是完全自動化的。

流媒體計算是行業研究的熱點。流計算可以實時清理、聚合和分析多個高吞吐量的數據源,能夠快速處理和反饋社交網站、新聞等存在的數據流。目前有很多大數據流分析工具,比如開源的strom、spark streaming等等。Strom集群結構是由一個主節點(nimbus)和多個工作節點(supervisors)組成的主從結構。主節點由配置靜態指定,或者在運行時動態選擇。nimbus和supervisor是Storm提供的后臺守護程序,它們之間的通信是結合Zookeeper的狀態變化通知和監控通知來處理的。nimbus process的主要職責是管理、協調和監控集群上運行的拓撲(包括拓撲發布、任務分配、事件處理過程中的任務重新分配等)。在等待nimbus分配任務后,supervisor進程生成并監控由worker(jvm進程)執行的任務。主管和工作人員在不同的JVM上運行。如果由主管啟動的工作進程由于錯誤而退出(或被終止),主管將嘗試重新生成一個新的工作進程。

當使用上游模塊的數據進行計算、統計和分析時,我們可以使用消息系統,尤其是分布式消息系統。Scala編寫的Kafka是一個基于發布/訂閱的分布式消息系統。卡夫卡的設計理念之一是同時提供離線處理和實時處理,并將數據實時備份到另一個數據中心。卡夫卡可以有許多生產者和消費者共享多個主題,并以主題為單位總結信息。卡夫卡發布消息的節目叫制作人,也叫制作人,訂閱話題消費消息的節目叫消費人,也叫消費者。當Kafka以集群模式運行時,它可以由一個服務或多個服務組成,每個服務稱為一個代理。在運行過程中,生產者通過網絡向卡夫卡集群發送消息,集群向消費者提供消息。卡夫卡通過動物園管理員管理集群配置,選舉領導者,并在消費群體發生變化時進行再平衡。生產者使用推模式向代理發布消息,消費者使用拉模式從代理訂閱和消費消息。卡夫卡可以和弗魯姆一起工作。如果需要將流數據從Kafka傳輸到hadoop,可以使用Flume代理,使用Kafka作為源,這樣就可以將數據從Kafka讀取到Hadoop。

大數據技術的核心包括哪些方面?

Zookeeper是一個分布式、開源的分布式應用協調服務,提供數據同步服務。它的主要功能是配置管理、名稱服務、分布式鎖和集群管理。配置是指在一個地方對配置進行修改,讓所有對這個地方的配置感興趣的人都可以更改,免去了繁瑣的手動復制配置,保證了數據的可靠性和一致性。同時可以通過名稱獲取資源或服務的地址等信息,監控集群中機器的變化,實現類似心跳機制的功能。

四、數據可視化

對接一些BI平臺,將分析得到的數據可視化,可以用來指導決策服務。主流BI平臺,如敏捷BI Tableau、Qlikview、PowrerBI等。國外,SmallBI和國內新興的網易等。在上述每個階段,確保數據安全都是一個不容忽視的問題。Kerberos是一種基于網絡身份驗證的協議,用于在不安全的網絡中以安全的方式驗證個人通信。它允許一個實體在不安全的網絡環境中進行通信,并以安全的方式向另一個實體證明其身份。控制權限的Ranger是一個Hadoop集群權限框架,為操作、監控和管理復雜數據提供權限,它提供了一個集中的管理機制來管理基于紗的Hadoop生態系統中的所有數據權限。它可以對Hive、Hbase等Hadoop生態組件進行細粒度的數據訪問控制。通過操作Ranger控制臺,管理員可以輕松配置策略來控制用戶對HDFS文件夾、HDFS文件、數據庫、表和字段的訪問。這些策略可以針對不同的用戶和組進行設置,權限可以與hadoop無縫對接。

五、數據清理

MapReduce作為Hadoop的查詢引擎,用于大規模數據集的并行計算。“地圖”和“減少”是它的主要思想。程序員在分布式系統中運行程序非常方便,無需分布式并行編程。隨著業務數據的增加,需要訓練和清理的數據會越來越復雜。此時,需要一個任務調度系統,如oozie或azkaban,來調度和監控關鍵任務。Oozie是一個面向Hadoop平臺的工作流調度引擎,提供RESTful API接口接受用戶的提交請求(提交工作流作業)。提交工作流后,工作流引擎負責工作流的執行和狀態轉換。用戶在HDFS上部署作業(MR作業),然后將工作流提交給Oozie,后者以異步方式將作業(MR作業)提交給Hadoop。這就是為什么在調用ozie的RESTful接口提交作業后,可以立即返回一個JobId,用戶程序不必等待作業執行(因為有些大型作業可能會執行很長時間(幾個小時甚至幾天)。Oozie將工作流對應的Action異步提交給hadoop,在后臺執行。

阿茲卡班也是一種工作流控制引擎,可以用來解決hadoop或spark等多個離線計算任務之間的依賴問題。阿茲卡班主要由三部分組成:關系數據庫、阿茲卡班Web服務器和阿茲卡班執行器服務器。阿茲卡班將大部分狀態信息保存在MySQL中,阿茲卡班Web Server提供Web UI,這是阿茲卡班的主要管理器,包括工作流執行過程中的項目管理、身份驗證、調度和監控。阿茲卡班執行器服務器用于調度工作流和任務,記錄工作流或任務的日志。計算任務的處理平臺Sloth是網易首個自主研發的流媒體計算平臺,旨在滿足公司各類產品對流媒體計算日益增長的需求。作為一個計算服務平臺,它易用、實時、可靠,節省了用戶在技術(開發、運維)上的投入,幫助用戶專注于解決產品本身的流媒體計算需求。有不懂的請咨詢夢飛云idc了解。

騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國外vps服務器租用 夢飛云服務器租用 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 北碚区| 师宗县| 财经| 平泉县| 浮山县| 哈密市| 无极县| 扎囊县| 新平| 陆良县| 万盛区| 平顶山市| 霍州市| 青河县| 忻城县| 鄂尔多斯市| 商南县| 三门峡市| 吉木萨尔县| 鞍山市| 百色市| 思茅市| 沈丘县| 汉阴县| 千阳县| 台州市| 万全县| 化德县| 西城区| 浮山县| 太仆寺旗| 巫溪县| 洱源县| 曲水县| 瑞丽市| 吴堡县| 平凉市| 宣恩县| 虎林市| 龙游县| 阿城市|