您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 亚马逊AWS大数据分析最佳实践
AWS大数据分析最佳实践郑进佳(Kenny)解决方案架构师亚马逊AWS•什么是大数据?•大数据的挑战?–数据产生–数据收集与存储–数据分析与计算–数据的展现与分享•成功案例•问与答议程什么是大数据?大数据应用场景精准营销图片或视频分析油气分析管道探测及时推荐交易分析生物传感临床分析防病毒欺诈检测图片识别人口统计游戏用户分析什么是大数据?数量大实时性多维度大数据的挑战大数据全过程AWS解决方案哪些工具可以在AWS上使用?哪个解决方案适合我?大数据分析生命周期数据产生数据收集和存储分析和计算展现和分享关系型数据NoSQL服务器日志CDN日志用户点击流各种非结构化数据第三方数据(RSS)来源输入的数据类型Investindatacenters?严重依赖硬件数据产生数据收集和存储分析和计算展现和分享低成本,高I/O高性能,可随时动态扩展前期投入高弹性不足扩展性差预先为容量付费Kinesis示意图DataSourcesApp.4[MachineLearning]AWSEndpointApp.1[Aggregate&De-Duplicate]DataSourcesDataSourcesDataSourcesApp.2[MetricExtraction]S3DynamoDBRedshiftApp.3[SlidingWindowAnalysis]DataSourcesAvailabilityZoneShard1Shard2ShardNAvailabilityZoneAvailabilityZoneAmazonKinesisAdProfileDBNextStepsforGREENextStepsforMediaMathBelkinAnalyticsDataIngestionwithAmazonKinesis解藕数据巴士---灵活性解藕数据巴士---灵活性Structured–SimpleQueryNoSQLAmazonDynamoDBCacheAmazonElastiCacheStructured–ComplexQuerySQLAmazonRDSSearchAmazonCloudSearchUnstructured–NoQueryCloudStorageAmazonS3AmazonGlacierUnstructured–CustomQueryHadoop/HDFSAmazonElasticMapReduceDataStructureComplexityQueryStructureComplexity数据结构与查询模式VS存储类型数据特性:热,温,冷HotWarmColdVolumeMB–GBGB–TBPBItemsizeB–KBKB–MBKB–TBLatencymsms,secmin,hrsDurabilityLow–HighHighVeryHighRequestrateVeryHighHighLowCost/GB$$-$$-¢¢¢AmazonRDSRequestRateHighLowCost/GBHighLowLatencyLowHighDataVolumeLowHighAmazonGlacierAmazonCloudSearchStructureLowHighAmazonDynamoDBAmazonElastiCache该用哪个存储?AmazonElastiCacheAmazonDynamoDBAmazonRDSAmazonCloudSearchAmazonEMR(HDFS)AmazonS3AmazonGlacierAveragelatencymsmsms,secms,secsec,min,hrsms,sec,min(~size)hrsDatavolumeGBGB–TBs(nolimit)GB–TB(3TBMax)GB–TBGB–PB(~nodes)GB–PB(nolimit)GB–PB(nolimit)ItemsizeB-KBKB(64KBmax)KB(~rowsize)KB(1MBmax)MB-GBKB-GB(5TBmax)GB(40TBmax)RequestrateVeryHighVeryHighHighHighLow–VeryHighLow–VeryHigh(nolimit)VeryLow(nolimit)Storagecost$/GB/month$$¢¢¢¢$¢¢¢DurabilityLow-ModerateVeryHighHighHighHighVeryHighVeryHighHotDataWarmDataColdData实时数据流处理--使用案例•对于广告平台–用户在互联网上的行为能实时的影响其广告推送内容,在用户下一次刷新页面时,就提供给用户新的广告•对于电商–用户的每一次收藏、点击、购买行为,都能被快速的归入他的个人模型中,立刻修正商品推荐•对于社交网络–用户社交图谱的变更和发言等行为,也能快速被反映在他的好友推荐、热门话题提醒上。载入数据S3作为中心存储存储在本地磁盘容量?持久性?存储并行数据加载到S3S3SimpleStorageService(S3)高度可扩展无限制容量的对象存储每个对象存储达1byte至5TB容量99.999999999%持久性从多个来源汇集数据区域可用区AEC2可用区BEC2将数据放入S3AmazonS3CorporateDataCenter•ConsoleUpload•FTP•AWSImportExport•S3API•DirectConnect•StorageGateway•3rdPartyCommercialApps•TsunamiUDP直接写入数据源YourapplicationAmazonS3DynamoDBAnyotherdatastoreAmazonS3AmazonEC2队列,预处理并写入AmazonSimpleQueueService(SQS)AmazonS3DynamoDBAnyotherdatastore数据产生数据收集和存储分析和计算展现和分享基于Hadoop的分析AmazonSQSAmazonS3DynamoDBAnySQLorNOSQLStoreLogAggregationtoolsAmazonEMREMR——云中的HadoopHadoop是一个在大集群机器(数千台)能够并行处理Map()&Reduce()海量数据的开源框架AmazonElasticMapReduce(EMR)AWSDataPipelineHDFS数据管理AmazonEMRAmazonRDSAmazonS3AmazonDynamoDBAmazonRedshift分析语言挑战是否可以更快更省钱,不用担心存储和计算容量?是否花太多时间管理集群和优化其性能?EMR的好处•容易使用–几分钟V.S.几周•弹性–基于工作量弹性扩展集群–缓解规划存储和计算容量的痛苦•Spot实例–70-80%成本优化EMR的好处•可靠的–良好的管理–节点失效自动恢复•灵活的–支持多个Hadoop应用–用户一樣可以控制Hadoop节点•并行集群–针对相同数据源S3并行分析工作原理EMREMR集群S31.数据导入S33.得出结果2.启动您的集群。选择:•Hadoop版本•节点数量•节点类型(hi-CPU、hi-memory等)•Hadoop应用(Hive、Pig、Hbase)EMREMR集群S3方便添加和移除节点工作原理EMREMR集群S3针对同一数据源启动不同的集群工作原理EMR集群S3工作完成后,您可以关闭集群(并停止付费)工作原理1instancefor100hours=100instancesfor1hourAmazonEMRCluster工作原理你也可以把所有数据都存在HDFS(本地磁盘)高存储实例节点=48TB/节点基于SQL的查询AmazonSQSAmazonS3DynamoDBAnySQLorNOSQLStoreLogAggregationtoolsAmazonEMRAmazonRedshiftPre-processingframeworkPetabytescaleColumnarData-warehousePB级数据仓库大规模并行处理(MPP)关系型数据仓库(SQL)管理简便、大幅扩容性能优越价格低廉更加简便AmazonRedshiftAmazonRedshift的架构•主节点–SQL终端–元数据(metadata)–优化查询•计算节点–列式存储–并行查询–可通过S3加载、备份和恢复数据–可从DynamoDB并行加载数据•支持SSD•支持单节点版本10GigE(HPC)载入备份恢复SQL客户端/BI工具JDBC/ODBC计算节点计算节点计算节点主节点使用AmazonRedshift性能–扫描2.25万亿行数据花费时间:14分钟–加载50亿行数据花费时间:10分钟–回填1500亿行数据花费时间:9.75小时–PigAmazonRedshift:2天到1小时–10B加入到7亿行中–OracleAmazonRedshift:90小时to8小时成本1.6PB每集群100nodedw1.8xl(3-yrRI)$180/hr复杂度20%timeofoneDBA备份还原扩容Adeeperlookatcomputenodearchitecture•Eachnodeissplitintoslices–Oneslicepercore–DW1–2slicesonXL,16on8XL–DW2–2slicesonL,32on8XL•Eachsliceisallocatedmemory,CPU,anddiskspace•EachsliceprocessesapieceoftheworkloadinparallelLeaderNodeUsemultipleinputfilestomaximizethroughput•UsetheCOPYcommand•Eachslicecanloadonefileatatime•Asingleinputfilemeansonlyonesliceisingestingdata•Insteadof100MB/s,you’reonlygetting6.25MB/sUsemultipleinputfilestomaximizethroughput•UsetheCOPYcommand•Youneedatleastasmanyinputfilesasyouhaveslices•With16inputfiles,allslicesareworkingsoyoumaximizethroughput•Get100MB/spernode;scalelinearlyasyouaddnodesAnalyzesort/distkeycolumnsaftereveryload•AmazonRedshift’squeryoptimizerreliesonup-to-datestatistics•Maximizeperformancebyupdatingstatsonsort/distkeycolumnsaftereveryloadAutomaticcompressionisagoodthing(mostly)•Betterperformance,lowercosts•COPYsamplesdataautomaticallywhenloadingintoanemptytable–Samplesupto100,000rowsandpicksoptimalencoding•IfyouhavearegularETLprocessandyouusetemptablesorstagingtables,turnoffautomaticcompression–Useanalyzecompressiontodeterminetherightencodings–BakethoseencodingsintoyourDMLKeepyourcolumnsasnarrowaspossible•Duringqueriesandingestion,thes
本文标题:亚马逊AWS大数据分析最佳实践
链接地址:https://www.777doc.com/doc-6165104 .html