Open rainit2006 opened 6 years ago
Data Lake The idea of data lake is to have a single store of all data in the enterprise ranging from raw data (which implies exact copy of source system data) to transformed data which is used for various tasks including reporting, visualization, analytics and machine learning.
The data lake includes structured data from relational databases (rows and columns), semi-structured data (CSV, logs, XML, JSON), unstructured data (emails, documents, PDFs) and even binary data (images, audio, video) thus creating a centralized data store accommodating all forms of data.
データウェアハウスとの大きな違いは、 ・生データ(raw data)をはじめとした様々なデータの蓄積 ・構造/セミ構造/非構造のデータ(イメージ、オーディオ、ビデオを含む)の全てを含む統合データストア。
データウェアハウスは、その目的に合わせてデータベースのテーブル構造を設計するスキーマ設計(構造化)を最初に行います。 例えば売上情報に関する分析であれば、営業情報データウェアハウス。また経営(経理)に関わる分析であれば、経営(経理)情報データウェアハウスと言われる目的にあわせた設計を行います。このようにデータを投入する時にはスキーマ(構造)が決定して、データはこの構造に合わせて投入する形態を「schema on write」と呼びます。
データレイクはデータを扱うための概念でしかありません。そのため、各社で発表しているデータレイクサービス/製品はそれぞれ特徴があり、用途や目的も微妙に異なっています。 ではデータレイクの概念とは何でしょうか? 各社で提唱しているデータレイクについて共通する内容として以下の内容があります。
例:AWS Glue と Amazon S3 を使用してデータレイク(data lake)の基礎を構築する https://aws.amazon.com/jp/blogs/news/build-a-data-lake-foundation-with-aws-glue-and-amazon-s3/
データレイクを使う主な課題は、データの検索とスキーマやデータフォーマットの理解であるため、Amazonは AWS Glue をリリースしました。AWS Glue は Amazon S3 データレイクからデータ構造と形式を発見することで、迅速にビジネスの洞察を導き出すために要する時間と労力を大幅に削減します。AWS Glue は Amazon S3 上のデータを自動的にクロールし、データフォーマットを特定し、他の AWS 分析サービスで使用するためのスキーマを提案します。
最初にデータは生の形式で不変のコピーとして取り込まれます。次にデータは変換され各ユースケースに対してより価値あるものになります。この例では、生の CSV ファイルは Amazon Athena がパフォーマンスを向上しコストを削減するために使用する Apache Parquet に変換されています。
データはさらなる洞察を得るために他のデータセットとブレンドすることができます。AWS Glue クローラは、ジョブトリガーまたは事前定義されたスケジュールに基いてデータベースの各ステージごとにテーブルを作成します。この例では、S3 に新しいファイルが追加されるたびに AWS Lambda 関数を使って ETL プロセスを実行しています。このテーブルは、Amazon Athena, Amazon Redshift Spectrum, および Amazon EMR が標準 SQL または Apache Hive を使用して任意の段階でデータを照会するために使用できます。
“ビッグデータの湖”データレイクとは何だ? EMCが答える 2014年12月 http://ascii.jp/elem/000/000/956/956699/ ビッグデータ活用や検討を進めるうえで、何がネックになっているのか。回答を見ると「費用対効果が不明」「何から着手してどう進めればよいかわからない」が上位に並ぶ。「そもそもビッグデータ活用にどんな価値があるのか、そのためにどんなデータを集めればいいのかわからない、という声が多い」(大川氏)。
こうした顧客の声に対し、EMCでは“逆”からのアプローチを勧めていると、大川氏は説明する。
「『ビッグデータの活用法』や『そこから得られる価値』を先に考えようとするから無理があるのではないか。すでにさまざまなデータを持っているのだから、ひとまずはそれを一カ所に集めましょうと、そう顧客に提案している」(大川氏)
そして、これがデータレイクというコンセプトにつながると大川氏は語る。
AWS上にデータレイクを構築 https://dev.classmethod.jp/cloud/aws/reading-building-a-data-lake-on-aws-ebook/ AWSでの『データレイク』ソリューションは、その中核に、安全性、耐久性、コスト効率に長けているAmazon S3を活用します。AWS Import/Export SnowballやAmazon Kinesis Firehoseデリバリーストリームといったものに代表される多種多様のAWSサービスを活用する事で迅速且つ簡単にAmazon S3にデータを収集出来ます。Amazon S3はまた、データレイクに於ける強力なセキュリティをサポートする為に、アクセスコントロールやポリシー、SSL通信、暗号化、ロギングはモニタリングといった豊富な機能群を提供しています。
データ管理においては、Amazon DynamoDBやAmazon ElasticSearchといった、Amazon S3にデータのインデックスを作成するサービスを活用する事が出来ます。『新しいデータがアップロードされた』というようなイベントに反応させる形でトリガーを仕掛けるLambdaファンクションを使う事で、カタログ情報を最新に保つ事ができます。Amazon API Gatewayを使う事で、AWS IAMとAmazon Cognito経由を使って承認を行う事で迅速かつ安全なデータアクセスを行うアプリケーションの"フロントドア"として機能するAPIを作成する事が出来ます。
Amazon S3に格納されているデータにアクセスして分析を行う為に、AWSはAmazon EMRやAmazon Redshift、Amazon Machine Learningといった柔軟で低コストなサービスへの高速アクセスを提供しています。これらのサービスを使う事で、あらゆる分析ソリューションを急速にスケールさせる事が可能となります。AWSを活用する事で、必要となる規模のリソースを迅速・簡単に用意出来ます。
AWS Glue と Amazon S3 を使用してデータレイクの基礎を構築する https://aws.amazon.com/jp/blogs/news/build-a-data-lake-foundation-with-aws-glue-and-amazon-s3/
クローラは、データストアに接続し、順位付けされた Classifier を使用してデータのスキーマを決定するプログラムです。 AWS Glue はCSV, JSON, Avro などの一般的なファイルタイプの Classifier を提供します。grok パターンを使用してカスタム Classifier を作成することもできます。
クローラはオンデマンド実行やスケジュール実行が可能です。
スキーマの変更をAWS Glueがどのように処理するのかを理解することが重要で、適切な処理方法を選択することが可能です。この例ではいかなる更新でも(データカタログ上)のテーブルが更新されます。
手順を確認して、Finish をクリックし、クローラは実行準備ができているので Run it now を選択します。 クローラが終了すると、テーブルが1つ追加されます。 これでデータを CSV から Parquet に変換するジョブを設定して実行することができます。Parquet は Amazon Athena や Amazon Redshift Spectrum などの AWS 分析サービスに適したカラムナフォーマットです。 クローラが終了した後、nycitytaxi データベースには、CSVデータ用テーブルと変換された Parquet データ用テーブルの2つのテーブルがあります。 Athena は CSVデータを照会することができますが Parquet のファイルフォーマットにするとデータクエリの時間を大幅に削減できます。
AWS Glue を使って S3のデータをクロールし、Apache Hive と互換性のあるメタストアを構築することで、AWS のアナリティクスサービスと一般的な Hadoop エコシステムでこのメタデータを使うことができます。この組み合わせは強力で使いやすいため、より早くビジネスの洞察を得ることができます。
クローラ(Crawler),爬虫 ウェブ上の文書や画像などを周期的に取得し、自動的にデータベース化するプログラムである。「ボット(Bot)」、「スパイダー」、「ロボット」などとも呼ばれる。 主に検索エンジンのデータベース、インデックス作成に用いられているほか、統計調査などの目的にも利用される。
Googleなど多くの 検索エンジンでは、自分たちの検索 データベースに、世界中のWebサイトのデータを常に蓄えています。そして、検索 キーワードをユーザーが打ち込んだ際に、 検索結果として表示してくれます。つまり、彼らの データベースに登録されていなければ、 検索結果に出ることはありません。
彼らの データベースにWebサイトの情報を収集するロボットのことを「 クローラー」と呼びます。そして、 クローラーが巡回のしやすさをクローラビリティといいます。クローラビリティを向上させることは、 SEOの一貫と考えられます。
SEOとは、”Search Engine Optimization” の略であり、検索エンジン最適化を意味する言葉です。検索結果でWebサイトがより多く露出されるために行う一連の取り組みのことを指します。
Googlebot :Googleのクローラー Yahoo Slurp:日本以外のYahooの クローラー Baiduspider:中国の検索サイトのBaiduの クローラー bingbot:マイクロソフトが運営するBingの クローラー