自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

亞馬遜云科技數(shù)據(jù)分析新服務(wù) - 數(shù)據(jù)湖

大數(shù)據(jù) 數(shù)據(jù)分析 數(shù)據(jù)湖
本文將從實踐角度闡述 亞馬遜云科技數(shù)據(jù)湖以及數(shù)據(jù)分析等產(chǎn)品,是如何幫助企業(yè)更加智能的利用數(shù)據(jù),從而輔助業(yè)務(wù)決策。

 數(shù)據(jù)分析是當前比較熱門的技術(shù),通過利用云計算的資源,更加快速對數(shù)據(jù)進行收集、處理并分析。本文將從實踐角度闡述 亞馬遜云科技 數(shù)據(jù)湖以及數(shù)據(jù)分析等產(chǎn)品,是如何幫助企業(yè)更加智能的利用數(shù)據(jù),從而輔助業(yè)務(wù)決策。

一、數(shù)據(jù)湖的由來

很久之前,當時的數(shù)據(jù)量很少,人們都是把數(shù)據(jù)記在腦中或者記錄在紙張上面,想要查看數(shù)據(jù)的時候,翻開記錄就行。

[[357756]]

隨著科技的進步,產(chǎn)生了越來越多的數(shù)據(jù),人們發(fā)現(xiàn)數(shù)據(jù)記錄在筆記中變得繁瑣且不高效,而且查詢數(shù)據(jù)也變得困難。于是產(chǎn)生了數(shù)據(jù)庫,數(shù)據(jù)庫可以滿足海量數(shù)據(jù)快速地增刪改查等需求。

image-20201103133745219

比如現(xiàn)在的移動支付,用戶的每筆消費,后臺數(shù)據(jù)庫都會快速記錄這筆交易;用戶在電商平臺下的每個訂單,后臺數(shù)據(jù)庫同樣會快速地記錄下來,這就會產(chǎn)生海量的數(shù)據(jù),而這也只是海量數(shù)據(jù)的冰山一角。

[[357757]]

時間長了,人們發(fā)現(xiàn)庫里的數(shù)據(jù)越來越多了,不光要支持聯(lián)機業(yè)務(wù),還要有分析的價值。但是,傳統(tǒng)的數(shù)據(jù)庫需要滿足頻繁、快速的讀寫需求,并不適合大量讀取數(shù)據(jù)特征進行分析業(yè)務(wù)。人們開始尋找其他的方法。

[[357758]]

當然人類還是很聰明的,既然不能直接在數(shù)據(jù)庫中進行分析,那我應(yīng)該可以把需要分析的數(shù)據(jù)導出來,放到一個專門的數(shù)據(jù)庫中進行分析,在導出的過程中還可以對數(shù)據(jù)進行一些格式轉(zhuǎn)換,這個過程也就是我們常說的 ETL(Extract-Transform-Load)。

image-20201103111346873

這個專門存放加工后數(shù)據(jù)的地方,我們稱之為數(shù)據(jù)倉庫。數(shù)據(jù)倉庫里面的數(shù)據(jù)主要用于數(shù)據(jù)分析,如用于 BI、報表、經(jīng)營分析、廣告投放等。

那么數(shù)據(jù)庫和數(shù)據(jù)倉庫的區(qū)別主要在哪里呢?

  • 數(shù)據(jù)庫:通常為小數(shù)據(jù)量高頻讀寫,主要用于聯(lián)機事務(wù)。
  • 數(shù)據(jù)倉庫:通常為大數(shù)據(jù)量讀取,主要用于聯(lián)機分析業(yè)務(wù)。

雖然應(yīng)用場景不一樣,但數(shù)據(jù)庫和數(shù)據(jù)倉庫都是適用于結(jié)構(gòu)化數(shù)據(jù)。在相當長的一段時間內(nèi),數(shù)據(jù)庫和數(shù)據(jù)倉庫聯(lián)合,共同滿足企業(yè)的實時交易型業(yè)務(wù)和聯(lián)機分析型的業(yè)務(wù)。

然而時代在發(fā)展,各種各樣的數(shù)據(jù)類型都在產(chǎn)生,如半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),面對多種類型數(shù)據(jù)分析的需求也越來越復雜。

image-20201103113452709

這個時候,人們又陷入了沉思,該找一個什么樣的存儲來保存所有的原始數(shù)據(jù),并且可以讓多個應(yīng)用進行讀取查詢。大數(shù)據(jù)需要使用好所有類型的數(shù)據(jù),并不能拋棄這些數(shù)據(jù),并且需要近似無限量的存儲,這些數(shù)據(jù)五花八門,又多又雜,該如何存儲呢?

[[357761]]

索性就挖一個大坑吧,然后把所有的原始格式的數(shù)據(jù)一股腦地扔進去,這些數(shù)據(jù)就如同坑中的水,因為數(shù)據(jù)量巨大,這個坑也就變成了小湖泊。你需要什么數(shù)據(jù),直接在湖邊挖個溝渠,把數(shù)據(jù)引入到你的應(yīng)用上面,這就是我們所說的數(shù)據(jù)湖的雛形。

image-20201103123755048

什么是數(shù)據(jù)湖

那么數(shù)據(jù)湖到底是什么呢?我們查看一下維基百科上面的解釋:

數(shù)據(jù)湖(Data Lake)是一個以原始格式存儲數(shù)據(jù)的存儲庫或系統(tǒng)。它按原樣存儲數(shù)據(jù),而無需事先對數(shù)據(jù)進行結(jié)構(gòu)化處理。一個數(shù)據(jù)湖可以存儲結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫中的表),半結(jié)構(gòu)化數(shù)據(jù)(如CSV、日志、XML、JSON),非結(jié)構(gòu)化數(shù)據(jù)(如電子郵件、文檔、PDF)和二進制數(shù)據(jù)(如圖形、音頻、視頻)。

通過數(shù)據(jù)湖的定義,我們可以從中找出一些數(shù)據(jù)湖的特點,或者數(shù)據(jù)湖滿足什么條件。

  • 數(shù)據(jù)湖需要能提供足夠大的數(shù)據(jù)存儲能力,接近于無限量的存儲。
  • 數(shù)據(jù)湖可以存儲各種類型的數(shù)據(jù),不限于結(jié)構(gòu)化,包括半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。
  • 數(shù)據(jù)湖存儲的是原始數(shù)據(jù),沒有經(jīng)過加工的,產(chǎn)生的數(shù)據(jù)是什么樣,存儲的就是什么樣。
  • 數(shù)據(jù)湖需要有完善的數(shù)據(jù)管理能力,可以管理各類數(shù)據(jù)的相關(guān)要素。
  • 數(shù)據(jù)湖需要具有多樣化的分析能力,包括但不限于批處理、流式計算、機器學習等。
  • 數(shù)據(jù)湖需要具有完善的數(shù)據(jù)生命周期管理能力。

我覺得數(shù)據(jù)湖就是一個架構(gòu)體系,通過它我們可以快速地存儲、處理、分析海量的數(shù)據(jù),同時可以使用多種多樣的手段進行分析,所有的操作都是在安全合規(guī)的場景下進行;以數(shù)據(jù)為導向,實現(xiàn)任意來源、任意速度、任意規(guī)模、任意類型數(shù)據(jù)的全量獲取、全量存儲和全生命周期管理;還可以通過接口和外面的計算資源交互集成,滿足各類企業(yè)級應(yīng)用需求。

有了數(shù)據(jù)湖,企業(yè)分析人員不用在不同的數(shù)據(jù)倉庫和文件存儲之間進行頻繁切換,也不需要重復地寫抽取、加載的邏輯,極大提升了分析人員的的工作效率。

二、亞馬遜云科技數(shù)據(jù)湖解決方案

我們上面是介紹了數(shù)據(jù)湖比較普遍的定義,那么 亞馬遜云科技是如何定義數(shù)據(jù)湖的呢?

亞馬遜云科技定義數(shù)據(jù)湖是一個集中式存儲庫,允許用戶以任意規(guī)模存儲所有結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。在 亞馬遜云科技中, Amazon S3 可以實現(xiàn)數(shù)據(jù)湖的這些功能,因為 Amazon S3 有很多特性可以滿足數(shù)據(jù)湖各式各樣的要求,在后面數(shù)據(jù)存儲方面,我們將著重介紹 Amazon S3 的這些特性。

image-20201105142723595

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

上圖中的整個方案是基于 Amazon Lake Formation 構(gòu)建,Amazon Lake Formation 本質(zhì)上是一個管理性質(zhì)的組件,與其他亞馬遜云科技服務(wù)互相配合,來完成整個企業(yè)級數(shù)據(jù)湖的構(gòu)建。上圖從左到右,體現(xiàn)了數(shù)據(jù)獲取、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)分析四個步驟,下面我們將逐一介紹,闡述 亞馬遜云科技 提供的服務(wù)是如何幫助我們使用數(shù)據(jù)湖。

數(shù)據(jù)獲取

數(shù)據(jù)獲取是整個數(shù)據(jù)湖構(gòu)建的起始,既然 Amazon S3 是 亞馬遜云科技數(shù)據(jù)湖的存儲,那我們該如何把業(yè)務(wù)數(shù)據(jù)放入其中呢?

首先,需要判斷接入數(shù)據(jù)的類型,是結(jié)構(gòu)化數(shù)據(jù)還是非結(jié)構(gòu)化數(shù)據(jù),是流式的數(shù)據(jù)還是批量的數(shù)據(jù),然后再選擇合適的工具。亞馬遜云科技針對不同場景提供了豐富的服務(wù),幫助用戶將外部數(shù)據(jù)導入到數(shù)據(jù)湖 Amazon S3 中。

為了使數(shù)據(jù)湖中的數(shù)據(jù)可以統(tǒng)一進行管理,流入的數(shù)據(jù)需要包括元數(shù)據(jù)和實際數(shù)據(jù)兩個部分。元數(shù)據(jù)流入包括數(shù)據(jù)源創(chuàng)建、元數(shù)據(jù)抓取兩步,最終會形成數(shù)據(jù)資源目錄,并生成對應(yīng)的安全設(shè)置與訪問控制策略。

 亞馬遜云科技提供了多種數(shù)據(jù)提取的服務(wù),如:

  • Amazon Snowball:提取離線傳感器數(shù)據(jù)、NAS、本地 Hadoop。
  • Amazon Kinesis Data Firehose:提取 IoT、傳感器數(shù)據(jù)、點擊流數(shù)據(jù)、社交媒體源、流式處理日志。
  • Amazon Direct Connect:提取本地數(shù)據(jù)湖、EDW、大型數(shù)據(jù)集合。
  • Amazon Database Migration:提取 Oracle、MySQL、MongoDB、DB2、SQL Server、Amazon RDS。
  • Amazon Storage Gateway:提取本地 ERP、大型主機、實驗室設(shè)備、NAS 存儲。

這些服務(wù)可以把各式各樣的數(shù)據(jù)從外部導入到 Amazon S3 中,具體每個服務(wù)的詳細功能,Amazon 都做了詳細的介紹,用戶可以參考官方文檔進行配置。

數(shù)據(jù)存儲

數(shù)據(jù)湖的存儲主要是依托于 Amazon S3,Amazon S3 可以理解為數(shù)據(jù)湖最重要的一部分,這主要也依托于其強大的特性:

  • 提供 11 個 9 的數(shù)據(jù)持久性。
  • 業(yè)界領(lǐng)先的性能和可擴展性。
  • 完善的安全性、滿足法律法規(guī)要求。
  • 對象粒度級別的權(quán)限控制。
  • 適合各類工作負載的存儲類。
  • 方便與其他分析服務(wù)整合,如 Amazon Athena、Amazon Redshift 和 Amazon EMR。

Amazon 的眾多服務(wù)都可以和 Amazon S3 無縫結(jié)合,為數(shù)據(jù)湖的數(shù)據(jù)注入與攝取提供了強大的支持。

數(shù)據(jù)處理

數(shù)據(jù)處理這一部分主要是利用 Amazon Glue 來進行處理,Amazon Glue 是 ETL 和數(shù)據(jù)目錄服務(wù),它是無服務(wù)器架構(gòu),僅為作業(yè)實際使用的資源付費,方便易用,威力強大,支持自動 schema 發(fā)現(xiàn),具有可視化 ETL 和代碼生成和靈活的任務(wù)調(diào)度程序,是 亞馬遜云科技大數(shù)據(jù)處理中非常重要的一個組件。

Amazon Glue 主要組件有數(shù)據(jù)目錄、作業(yè)編寫、作業(yè)執(zhí)行,下面介紹每個組件可以做什么事情:

  • 數(shù)據(jù)目錄
    • Hive 元存儲與增強功能兼容
    • 爬網(wǎng)程序自動提取元數(shù)據(jù)并創(chuàng)建表
    • 與 Athena、Amazon Redshift Spectrum 集成
  • 作業(yè)編寫
    • 自動生成 ETL 代碼
    • 在開源框架上構(gòu)建,語言為 Python 和 Spark
    • 以開發(fā)人員為中心,包括編輯、調(diào)試、共享
  • 作業(yè)執(zhí)行
    • 在無服務(wù)器 Spark 平臺運行作業(yè)
    • 提供靈活時間安排
    • 處理依賴關(guān)系解析、監(jiān)控和警報
    • 任務(wù)觸發(fā)方式支持手動觸發(fā)、定時觸發(fā)、事件觸發(fā),可以和 Amazon Lambda 集成

總之,借助 Amazon Glue,我們無需再去考慮數(shù)據(jù)源是什么格式,是結(jié)構(gòu)化還是非結(jié)構(gòu)化,Amazon Glue 可以自動智能地進行分析,推斷出數(shù)據(jù)架構(gòu),數(shù)據(jù)類型等等。應(yīng)對底層數(shù)據(jù)架構(gòu)不斷發(fā)生的變化,如果沒有 Amazon Glue,在數(shù)據(jù)源結(jié)構(gòu)發(fā)生變化時,用戶需要重新去創(chuàng)建數(shù)據(jù)目錄,而這些繁瑣的事情現(xiàn)在用戶不需要再去關(guān)心,Amazon Glue 可以統(tǒng)統(tǒng)搞定,數(shù)據(jù)分析人員可以把更多的注意力放在業(yè)務(wù)實現(xiàn)方面。

Amazon Glue 也具備機器學習的能力,可以幫助用戶識別不同的數(shù)據(jù)集中重復的記錄,幫助用戶進行數(shù)據(jù)清理和轉(zhuǎn)換,這個功能不需要用戶寫一行代碼,也不需要具備專業(yè)機器學習的算法的能力,只需點擊幾下鼠標即可實現(xiàn)。

數(shù)據(jù)分析

在企業(yè)里面,一般分析作業(yè)都是 BI 報表類型,業(yè)務(wù)部門把想看的指標告訴數(shù)據(jù)分析人員,數(shù)據(jù)分析人員編寫 SQL 語句,然后運行結(jié)果提供給業(yè)務(wù)部門查看,但是由于需求的多變和不明確性,這樣的過程會反反復復。

這是企業(yè)中一個非常典型的場景,但是在實際的使用過程中,客戶可能還會需要更加復雜的一些分析手段,比如客戶想要通過機器查詢、通過 K/V 可以快速地在海量數(shù)據(jù)中查詢需要的結(jié)果、想要實現(xiàn)全文檢索,或者流式快速對數(shù)據(jù)進行統(tǒng)計等。

面對以上的問題,我們都可以通過 亞馬遜云科技提供的服務(wù)進行實現(xiàn)。通過 Amazon Redshift 實現(xiàn)交互式查詢分析,使用 Amazon EMR 對海量數(shù)據(jù)進行 ETL 處理和分析,使用 Amazon ElasticSearch 實現(xiàn)全文檢索,Amazon Kinesis 實現(xiàn)流式快速數(shù)據(jù)統(tǒng)計等,借助于 Amazon Athena 可以直接對 Amazon S3 的數(shù)據(jù)進行 SQL 查詢,當下比較流行的機器學習方面也可也借助 Amazon SageMaker 來實現(xiàn),Amazon SageMaker 可以讀取 Amazon S3 中的訓練數(shù)據(jù),并將訓練好的模型回寫到 Amazon S3 中。

我們可以看到,在 亞馬遜云科技 數(shù)據(jù)湖上,這些分析都是通過不同的外部工具來實現(xiàn),計算由外部的組件實現(xiàn),存儲統(tǒng)一由 Amazon S3 提供,這也是 亞馬遜云科技數(shù)據(jù)湖的獨特之處,計算與存儲分離。

數(shù)據(jù)展示

數(shù)據(jù)的采集和生產(chǎn)最終是為了決策,數(shù)據(jù)的各種分析要求基本已經(jīng)滿足了企業(yè)大部分的需求,那這些分析結(jié)果如何以可視化的效果展現(xiàn)從而幫助用戶決策呢?

在數(shù)據(jù)展示方面,亞馬遜云科技 也為用戶提供了一款采用云技術(shù)的快速商業(yè)智能服務(wù) Amazon QuickSight,企業(yè)用戶可以更加便捷、快速低成本地分析數(shù)據(jù)。

Amazon QuickSight 的定位是連接用戶與數(shù)據(jù),它是整個 亞馬遜云科技 生態(tài)中離商業(yè)決策最近的服務(wù),直接解決大數(shù)據(jù)應(yīng)用的 “最后一公里” 問題。它不需要用戶有代碼能力,可自動識別和整合各種不同的數(shù)據(jù)源,包括與 Amazon RedShift、Amazon S3、Amazon Athena、Amazon Aurora、Amazon RDS、Amazon IAM、Amazon CloudTrail、Amazon Cloud Directory 等 亞馬遜云科技服務(wù)的原生集成。提供實時交互式的數(shù)據(jù)查詢方式,并且自動進行數(shù)據(jù)可視化,最大程度降低了商業(yè)決策端用戶使用大數(shù)據(jù)的成本。

權(quán)限管理

在企業(yè)數(shù)字化轉(zhuǎn)型的過程中,勢必會有很多數(shù)據(jù)分散在各個地方,這些數(shù)據(jù)如何統(tǒng)一管理?亞馬遜云科技 給出的答案是需要一個統(tǒng)一的數(shù)據(jù)目錄用來注冊和管理數(shù)據(jù)的元數(shù)據(jù)信息。在 亞馬遜云科技 搭建一個這樣的數(shù)據(jù)目錄并不難,使用 Amazon Glue Catalog 可以很方便實現(xiàn)。

但是對于一個集中的數(shù)據(jù)目錄,如何管理權(quán)限邊界變成了一個問題,亞馬遜云科技是如何管理權(quán)限邊界的呢?

Amazon Glue Catalog 是通過 Amazon IAM 對元數(shù)據(jù)進行精細化控制的,它可以在整個數(shù)據(jù)目錄級別、數(shù)據(jù)庫級別、表級別對不同的 Amazon IAM 用戶進行授權(quán),非常靈活方便。這些權(quán)限管理可以通過 Amazon Lake Formation 來實現(xiàn),Amazon Lake Formation 的權(quán)限進一步可以細分為數(shù)據(jù)資源目錄訪問權(quán)限和底層數(shù)據(jù)訪問權(quán)限,分別對應(yīng)元數(shù)據(jù)和實際存儲的數(shù)據(jù)。實際存儲數(shù)據(jù)的訪問權(quán)限又進一步分為數(shù)據(jù)存取權(quán)限和數(shù)據(jù)存儲訪問權(quán)限。

綜上,亞馬遜云科技數(shù)據(jù)湖方案成熟度高,特別是元數(shù)據(jù)管理、權(quán)限管理上考慮充分,打通了異構(gòu)數(shù)據(jù)源與各類計算引擎的上下游關(guān)系,讓數(shù)據(jù)能夠自由 “移動” 。在流計算和機器學習上,亞馬遜云科技 的解決方案也比較完善。在流計算方面,亞馬遜云科技 推出了專門的流計算組件 Amazon Kinesis,同時 Amazon Kinesis 還可以訪問 Amazon Glue 中的元數(shù)據(jù),這一點也充分體現(xiàn)了 亞馬遜云科技數(shù)據(jù)湖解決方案在生態(tài)上的完備性。

三、在 亞馬遜云科技 上構(gòu)建數(shù)據(jù)湖

至此,圍繞著數(shù)據(jù)湖 亞馬遜云科技 提供整個一套大數(shù)據(jù)解決方案,那么在每個階段中,不同的數(shù)據(jù)類型和不同的分析需求應(yīng)該如何滿足,應(yīng)如何調(diào)度和管理一個數(shù)據(jù)分析的應(yīng)用呢?

如果我們在 亞馬遜云科技 上面一步步配置的話,那會變得非常困難,畢竟 亞馬遜云科技圍繞數(shù)據(jù)庫有如此眾多的服務(wù),服務(wù)之間的關(guān)聯(lián)和權(quán)限配置變得很復雜,這時候就需要一個工具來幫助用戶把這些問題都搞定,Amazon Lake Formation 可以幫助用戶快速地搭建數(shù)據(jù)湖,并且引入了安全管理機制,真正地幫助用戶保護數(shù)據(jù)湖。

說了這么多,那下面我們使用 Amazon Lake Formation 去構(gòu)建一個數(shù)據(jù)湖吧。

image-20201105094810438

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

上圖是一個數(shù)據(jù)湖的架構(gòu)圖,我們將準備兩份數(shù)據(jù) sales 和 customers,會使用 Amazon Glue 來存取數(shù)據(jù)的元數(shù)據(jù),在使用 Amazon Lake Formation 賦予用戶 salesuser 和 customersuser 使用這兩個數(shù)據(jù)表,最終他們將通過 Amazon Athena 來查詢需要的數(shù)據(jù)。

準備數(shù)據(jù)和用戶

我們準備了兩個數(shù)據(jù)文件,下面把他們各自的字段列舉一下:

  • customers:{CUSTOMERID, CUSTOMERNAME, EMAIL, CITY, COUNTRY, TERRITORY, CONTACTFIRSTNAME, CONTACTLASTNAME}
  • sales:{ORDERNUMBER, QUANTITYORDERED, PRICEEACH, ORDERLINENUMBER, SALES, ORDERDATE, STATUS, QTR_ID, MONTH_ID, YEAR_ID, PRODUCTLINE, MSRP, PRODUCTCODE, DEALSIZE, CUSTOMERID}

同樣我們也會創(chuàng)建兩個用戶,分別是 salesuser 和 customersuser,并賦予相應(yīng)的權(quán)限:

  • salesuser:可以查看表 sales 的所有列。
  • customersuser:只可以查詢表 customers 的 CUSTOMERNAME, EMAIL 列。

下面開始讓我們創(chuàng)建吧。

創(chuàng)建 Amazon IAM 用戶

創(chuàng)建用戶這里有幾個注意事項,我們創(chuàng)建的用戶是需要可以登錄 Amazon Console 控制臺,用戶賦予以下幾項權(quán)限:

AmazonS3FullAccessAmazonAthenaFullAccessCloudWatchLogsReadOnlyAccessAmazonCloudFormationReadOnlyAccess 和 AmazonGlueConsoleFullAccess

image-20201105113407104

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

image-20201105113554498

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

創(chuàng)建 Amazon IAM Role

因為 Amazon Glue crawler 需要從 Amazon S3 中爬取元數(shù)據(jù),所以需要給 Amazon Glue 創(chuàng)建一個 Role,賦予 PowerUserAccess 的策略。

image-20201105123304222

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

創(chuàng)建 Amazon S3 Bucket

為數(shù)據(jù)湖創(chuàng)建一個 Amazon S3 Bucket,命名為 wzlinux-datalake,然后把數(shù)據(jù)上傳到上面,因為測試環(huán)境,我們手動上傳這些數(shù)據(jù),生產(chǎn)環(huán)境都是自動上傳更新數(shù)據(jù)。

在 Bucket 里面創(chuàng)建兩個文件夾 data 和 script,data 這個文件夾主要是存放數(shù)據(jù)湖數(shù)據(jù),script 文件夾后面 Amazon Athena 會使用,作為 Amazon Athena 查詢結(jié)果輸出位置。

image-20201105124150417

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

在 data 目錄下面,創(chuàng)建兩個文件夾,一個是 sales,一個是 customers ,把各自的 csv 文件傳到其中。

image-20201105124634534

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

配置數(shù)據(jù)湖

打開 Amazon Lake Formation 控制臺,賦予使用的 AmazonIAM 用戶 administrators 權(quán)限。

image-20201105133006558

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

在 Databases 里面,添加剛剛創(chuàng)建的存儲桶作為數(shù)據(jù)庫,用作數(shù)據(jù)目錄,后面會用 Amazon Glue 爬取,如下圖:

image-20201105133339093

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

下一步來到 Data Lake locations,把創(chuàng)建的 Amazon S3 作為數(shù)據(jù)湖存儲。

image-20201105133541188

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

爬取數(shù)據(jù)目錄

數(shù)據(jù)湖中的所有數(shù)據(jù)都需要被數(shù)據(jù)目錄所記錄才可以使用,數(shù)據(jù)目錄可以使用 Amazon Glue 來爬取創(chuàng)建,下面我們配置數(shù)據(jù)目錄爬取任務(wù)。

選擇剛剛創(chuàng)建的數(shù)據(jù)目錄 wzlinux-db,并賦予其爬取 Amazon S3 數(shù)據(jù)的權(quán)限。

image-20201105134136867

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

權(quán)限設(shè)置如下。

image-20201105134239568

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

然后找到 Crawlers,添加一個 Crawlers

image-20201105134407535

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

image-20201105134432009

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

添加 Amazon S3 數(shù)據(jù)存儲的目錄。

image-20201105134532026

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

選擇創(chuàng)建好的角色。

image-20201105134617543

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

選擇在 Amazon Lake Formation 創(chuàng)建好的數(shù)據(jù)庫作為輸出目錄。

image-20201105134711738

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

創(chuàng)建完成之后,運行我們的爬網(wǎng)程序。

image-20201105134804120

 

 圖片來源于亞馬遜云科技全球網(wǎng)站截圖

爬取完成之后,我們就可以去 Amazon Lake Formation 里面去查看數(shù)據(jù)目錄了,可以看到多了兩張表。

image-20201105135020454

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

賦予用戶權(quán)限

目前數(shù)據(jù)湖的數(shù)據(jù)目錄我們已經(jīng)創(chuàng)建好了,現(xiàn)在我們分別賦予用戶對數(shù)據(jù)目錄的操作權(quán)限,以滿足我們開始的要求。

  • salesuser:可以查看表 sales 的所有列。
  • customersuser:只可以查詢表 customers 的 CUSTOMERNAME, EMAIL 列。

首先為 salesuser 添加權(quán)限,找到 Sales 表,選擇 Grant 按鈕,添加權(quán)限。

image-20201105135542190

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

同樣的方式賦予 customersuser 權(quán)限。

image-20201105135713581

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

權(quán)限授權(quán)好了,那我們可以分別登陸這兩個用戶進行數(shù)據(jù)查詢驗證。

數(shù)據(jù)查詢驗證

首先我們登陸 salesuser 用戶驗證測試,我們可以看到所有的表。

image-20201105140527651

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

在查詢之前,我們需要做一個設(shè)定,配置一下結(jié)果輸出,這也就是之前創(chuàng)建的 script 目錄。

image-20201105140647168

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

然后我們開始查詢,結(jié)果和我們設(shè)定的一樣,可以查看所有的列數(shù)據(jù)。

SELECT * FROM "wzlinux-db"."sales" limit 10;

image-20201105140751366

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

現(xiàn)在我們登陸另外一個用戶查看,只可以看到我們分配的兩個列。

image-20201105141023687

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

同樣的進行數(shù)據(jù)查詢,查看一下結(jié)果,和開始的設(shè)定也一樣。

image-20201105141123626

圖片來源于亞馬遜云科技全球網(wǎng)站截圖

可以看到,所有的測試結(jié)果和之前預(yù)期的一樣,通過整個實驗過程,我相信大家對 Amazon Lake Formation 如何規(guī)范化數(shù)據(jù)湖有了一定的了解。

這么好的工具,你現(xiàn)在是否也想體驗一下呢,目前 AmazonLake Formation 在中國區(qū)的北京區(qū)域也已經(jīng)上線,歡迎大家去使用體驗 亞馬遜云科技數(shù)據(jù)湖的方便之處。

四、經(jīng)驗總結(jié)

  • 我個人覺得 亞馬遜云科技在數(shù)據(jù)湖方面最好的就是計算存儲分離,AmazonGlue Data Catalog 維護所有存儲/查詢系統(tǒng)的元數(shù)據(jù),實現(xiàn)計算和存儲分開,計算按量付費,節(jié)省資源,各種計算模型可以直接從 Amazon S3 中獲取數(shù)據(jù)進行分析,使得計算資源可以動態(tài)擴展以響應(yīng)業(yè)務(wù)的變化。
  • Amazon S3 作為數(shù)據(jù)的存儲,成本較 Amazon EBS 有巨大的優(yōu)勢,同時還獲得了更高的數(shù)據(jù)持久性和可靠性。
  • 大數(shù)據(jù)的最終目的是為了機器學習提供能具備生產(chǎn)力的模型。
  • 一個公司中大數(shù)據(jù)部門真正的價值是產(chǎn)出產(chǎn)品價值,并非一個報表部門自己造輪子。
  • 數(shù)據(jù)的統(tǒng)一化方便進行前期特征處理和分析任務(wù)。

 

 

責任編輯:張燕妮 來源: 51CTO
相關(guān)推薦

2022-12-02 16:57:26

亞馬遜云科技數(shù)據(jù)湖

2015-10-08 17:04:53

亞馬遜QuickSight云BI

2022-08-30 11:35:34

亞馬遜云科技無服務(wù)器數(shù)據(jù)倉庫

2020-02-24 15:06:13

亞馬遜數(shù)據(jù)湖AWS

2021-04-15 10:11:55

亞馬遜云科技云安全

2013-02-21 10:58:06

大數(shù)據(jù)大數(shù)據(jù)分析亞馬遜Redshift

2022-12-12 15:38:22

亞馬遜云科技

2021-06-25 09:35:55

亞馬遜云科技智能湖倉

2023-10-11 14:57:47

亞馬遜云科技安全數(shù)據(jù)

2021-05-26 16:21:59

亞馬遜云科技機器學習

2013-10-30 09:13:35

微軟Hadoop AzurWindows Azu

2020-09-11 11:10:38

云+數(shù)據(jù)

2022-05-17 14:18:31

亞馬遜云科技IBMSaaS

2025-01-08 15:28:23

2022-12-12 15:40:28

2020-08-12 16:57:50

數(shù)據(jù)庫亞馬遜云科技

2021-10-13 09:19:09

數(shù)據(jù)

2022-06-13 08:00:00

數(shù)據(jù)湖數(shù)據(jù)倉庫大數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號