

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# データの準備とクリーニング
<a name="data-preparation-cleaning"></a>

データの準備とクリーニングは、データライフサイクルの中で最も重要であり、最も時間のかかるステージの 1 つです。次の図は、データの準備とクリーニングのステージがデータエンジニアリングの自動化とアクセスコントロールのライフサイクルにどのように適合するかを示しています。

![データの準備とクリーニングの図](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modern-data-centric-use-cases/images/data_prep_cleaning.png)


データの準備またはクリーニングの例を次に示します。
+ テキスト列をコードにマッピングする
+ 空の列を無視する
+ 空のデータフィールドを `0`、`None`、または `''` で埋める
+ 個人を特定できる情報 (PII) を匿名化またはマスキングする

さまざまなデータを含む大規模なワークロードがある場合は、データの準備とクリーニングタスクに [Amazon EMR](https://aws.amazon.com/emr/) または [AWS Glue](https://aws.amazon.com/glue/) を使用することをお勧めします。Amazon EMR と AWS Glue はどちらも非構造化データ、半構造化データ、リレーショナルデータで動作し、どちらも Apache Spark を使用して水平処理を行うために `DataFrame` または `DynamicFrame` を作成できます。さらに、[AWS Glue DataBrew ](https://aws.amazon.com/glue/features/databrew/)を使用して、ノーコードアプローチでデータをクリーンアップおよび処理できます。さらに、DataBrew は列統計を使用してデータセットをプロファイリングし、データリネージュを提供し、すべてまたは指定された列のデータ品質ルールを含めることができます。

分散処理を必要とせず、15 分以内に完了できる小規模なワークロードの場合は、データの準備とクリーニングに [AWS Lambda](https://aws.amazon.com/lambda/) を使用することをお勧めします。Lambda は、小規模なワークロード向けのコスト効率が高く軽量なオプションです。クラウドに入れることができない安全性の高いデータの場合は、[AWS Outposts](https://aws.amazon.com/outposts/) サーバーを使用して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでデータ匿名化を実行することをお勧めします。

データの準備とクリーニングに適した AWS サービスを選択し、選択したサービスに付随するトレードオフを理解することが重要です。例えば、AWS Glue、DataBrew、Amazon EMR から選択するシナリオを考えてみましょう。AWS Glue は、ETL ジョブの頻度が低い場合に最適です。頻度の低いジョブとは、1 日に 1 回、週に 1 回、または月に 1 回行われるものです。さらに、データエンジニアが Spark コードの記述 (ビッグデータのユースケースの場合) または一般的なスクリプトに習熟していると仮定しましょう。ジョブの頻度が高い場合、AWS Glue をコンスタントに実行するとコストが高くなる可能性があります。この場合、Amazon EMR は分散処理機能を提供し、サーバーレスバージョンとサーバーベースのバージョンの両方を提供します。データエンジニアに適切なスキルセットがない場合、または結果をすばやく提供する必要がある場合は、DataBrew が適しています。DataBrew は、コード開発の労力を削減し、データの準備とクリーニングプロセスを高速化できます。

処理が完了すると、ETL プロセスのデータは AWS に保存されます。ストレージの選択は、処理するデータのタイプによって決まります。例えば、グラフデータ、キーと値のペアのデータ、イメージ、テキストファイル、またはリレーショナル構造化データなどの非リレーショナルデータを扱う場合があるでしょう。

次の図に示すように、データストレージには次の AWS のサービスを使用できます。
+ [Amazon S3](https://aws.amazon.com/s3/) は、非構造化データまたは半構造化データ (Apache Parquet ファイル、イメージ、ビデオなど) を保存します。
+ [Amazon Neptune](https://aws.amazon.com/neptune/) は、SPARQL または GREMLIN を使用してクエリできるグラフデータセットを保存します。
+ [Amazon Keyspaces (Apache Cassandra 用)](https://aws.amazon.com/keyspaces/) は、Apache Cassandra と互換性のあるデータセットを保存します。
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/) は、リレーショナルデータセットを保存します。
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) は、キー値またはドキュメントデータを NoSQL データベースに保存します。
+ [Amazon Redshift](https://aws.amazon.com/redshift/) は、構造化データのワークロードをデータウェアハウスに保存します。



![データストレージサービス。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/modern-data-centric-use-cases/images/data_prep_cleaning_storage_1.png)


適切なサービスを正しい設定で使用することで、データを最も効率的かつ効果的な方法で保存できます。これにより、データの取得に伴う労力が最小限に抑えられます。