AWS開発者にあるべきデータ分析スキル



AWS(Amazon Web Services)開発者として、私たちにはユーザーのデータを分析するためにいくつかのスキルと工夫が必要です。AWSには、あらゆる種類のサービスを使ってデータ分析を行うための多くのプラットフォームとアプリがあります。私たちは、AWS CloudFormationを使ってビッグデータを効率的に操作し、AWS Glueを使って重複するデータを削減します。また、AWS Lambdaを使用してビッグデータをインタラクティブな方法で処理し、Amazon QuickSightを使って可視化することもできます。

const { js2xml, xml2js } = require('xml-js');
const js = {
elements: [
{
type: 'element',
name: 'users',
elements: [
{
type: 'element',
name: 'user',
elements: [
{ type: 'text', text: 'John Doe' },
{ type: 'text', text: '27' }
]
}
]
}
]
};

const xml = js2xml(js, { compact: true });
console.log(xml);
//
// John Doe27
//



データ分析ツール



AWS開発者はいくつかのデータ分析ツールを使用して、ユーザーデータを効果的に把握し分析することができます。Amazon Athenaを使うと、SQLを使用した帳票型のクエリを実行してデータの把握を行うことができます。Amazon Elasticsearch Serviceを使うと、インデクシングや検索など総合的なデータ分析を行うことができます。 AWS Glueを使うと、テキストや画像などの多様なタイプのデータを効率的に分析できます。

コーディングでのデータ分析



AWS開発者は、開発言語を使ってプログラミングによるデータ分析を行うこともできます。AWSのサービスを使って、プログラミングでのデータ分析を簡単に行うことができます。Amazon RedShiftを使って、データバースにデータをロードして効率的なSQLクエリを実行します。AWS Lambdaを使って、定期的に実行する処理を定義します。また、Amazon DynamoDBを使って、高速なデータベースクエリを実行し、Amazon Kinesisを使って低い遅延でデータを処理することもできます。
import boto3 

ec2 = boto3.client('ec2')

resp = ec2.describe_instances(InstanceIds=['i-1234567890abcdef0'])
print(resp['Reservations'][0]['Instances'][0])

# {
# 'AmiLaunchIndex': 0,
# 'ImageId': 'ami-51792b30',
# 'InstanceId': 'i-1234567890abcdef0',
# 'InstanceType': 't2.micro',
# 'LaunchTime': datetime.datetime(2016, 12, 11, 11, 35, 36, tzinfo=tzutc()),
# 'Monitoring': {'State': 'disabled'},
# 'Placement': {'AvailabilityZone': 'us-west-2a'},
# 'PrivateDnsName': 'ip-192-168-100-196.us-west-2.compute.internal',
# 'PrivateIpAddress': '192.168.100.196',
# 'PublicDnsName': 'ec2-50-112-67-115.us-west-2.compute.amazonaws.com',
# 'PublicIpAddress': '50.112.67.115',
# 'State': {'Code': 16, 'Name': 'running'},
# 'StateTransitionReason': '',
# 'SubnetId': 'subnet-6e7f829e',
# 'VpcId': 'vpc-d9a7a9bc'
# }


データ分析の実装



AWS開発者は、分析したデータを効果的に使うために、ビッグデータを元に実装を行う必要があります。 AWS Step Functionsを使って、AWS Lambdaなどのサービスを組み合わせたワークフローを構築します。AWS Lambdaを使うと、ビッグデータの結果をリアルタイムで受け取ることができます。AWS Machine Learningを使うと、機械学習を使用して実装を行うことができます。また、S3バケットやEMR(Elastic MapReduce)を使うと、Hadoopというオープンソース・ソリューションを使用して実装を行うことができます。
const AWS = require('aws-sdk');

const lambda = new AWS.Lambda({region: 'us-east-1'});

const params = {
FunctionName: 'myFunction',
Payload: JSON.stringify(user_data)
};

lambda.invoke(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});

投稿者: systemreach_engineer