Amazon Elastic MapReduce (EMR)是一个用于较强专业性应用程序开发的工具,其中包括日志分析、财务分析、营销分析以及生物信息学等应用。它使用了开源框架Hadoop,以便于在一个亚马逊EC2实例集群中分配你的数据。 而分析大数据的最佳方法就是使用一个运行在Hadoop上的开源数据仓库和分析包——Hive。Hive的脚本程序使用的是一种类似于SQL的语言,他被称为Hive QL。
通过使用这种脚本程序,你就能够避免用Java编写MapReduce程序所带来的复杂性。 以下的示例是基于一个亚马逊EMR例子创建HIVE集群,它使用Apache Hive进行广告相关性关联。这个例子……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Amazon Elastic MapReduce (EMR)是一个用于较强专业性应用程序开发的工具,其中包括日志分析、财务分析、营销分析以及生物信息学等应用。它使用了开源框架Hadoop,以便于在一个亚马逊EC2实例集群中分配你的数据。
而分析大数据的最佳方法就是使用一个运行在Hadoop上的开源数据仓库和分析包——Hive。Hive的脚本程序使用的是一种类似于SQL的语言,他被称为Hive QL。通过使用这种脚本程序,你就能够避免用Java编写MapReduce程序所带来的复杂性。
以下的示例是基于一个亚马逊EMR例子创建HIVE集群,它使用Apache Hive进行广告相关性关联。这个例子向你展示了用户可以如何把客户的点击数据与特定广告相关联。
首先,打开Amazon Elastic MapReduce控制台。然后点击 Create Cluster ,在五个步骤中完成配置设置。
第一步,配置一个集群
• 在 Cluster name 字段中,输入一个描述性的名称。它可以是非唯一的。
• 在Termination protection 字段中,其默认值为Yes。这一设置可确保集群不会因为意外或错误而关闭。
• 在Logging 字段中,其默认值为Enabled。日志数据将被发送至亚马逊S3。
• 在Log folder S3 location 字段中,请以如下格式输入存储桶名称和文件夹信息:s3://<bucket name>/<folder>/。
• 在Debugging 字段中,其默认值为Enabled。
Tag 部分是可选的。你可以为你的EMR集群添加最多10个标签。在一个标签中,包括了一个区分大小写的键值对。
第二步,设置软件配置
• 在Hadoop distribution 多选框中,选择Amazon 为默认值。
• 在 AMI version 多选框中,选择 2.4.2 (Hadoop 1.0.3)
• 在Application to be installed 多选框中,保留选中Hive 和 deletePig。
第三步,设置硬件配置
• 在 Network 字段中,选择Launch into EC-2 Classic。
• 在EC2 Subnet 字段中,选择 No preference。
• 在Master、Core 以及 Task 字段中,默认EC2实例类型为m1.small。对于低工作负载的应用,你可以为所有节点选择使用小实例(可确保降低你的使用成本)。相应地,Count 的默认值分别为1、 2、 0。同时,对于所有三个字段,确保不选中 Request Spot Instances 。
注意:20是每个AWS帐户的最大节点数。如果你运行了2个集群,那么2个集群运行的节点总数必须为20或以下。如果你确实需要节点数超过20,那么你必须提交一个请求以便于提高你的亚马逊EC2实例上限。
第四步,设置安全和访问配置
• 在EC2 key pair 字段中,从列表中选择一个亚马逊EC2密钥对。这一设置可以让你使用Secure Shell(SSH)来连接主节点。
• 在IAM user access 字段中,其默认值为 No other IAM users。
• 在EC2 role 多选框中,其默认值为 no roles found。
在Bootstrap Actions 部分,你可以不做任何操作。
第五步,指定集群参数
• 在Steps 部分,从列表中选择Hive Program,并点击 Configure and add。
• 在Name 字段中,其默认值为Hive Program。
• 在 Script s3 Location 字段中(必选项),以BucketName/path/ScriptName的格式输入相关信息,例如 s3n://elasticmapreduce/samples/hive-ads/libs/model-build。
• 在 Input s3 Location 字段中(可选项),以BucketName/path的格式输入相关信息,例如 s3n://elasticmapreduce/samples/hive-ads/tables。该输入值会作为名为INPUT的参数发送给Hive脚本程序。
• Output S3 Location 字段(可选项),以BucketName/path的格式输入相关信息,例如 s3n://myawsbucket/hive-ads/output/2014-4-14。该输入值会作为名为OUTPUT的参数发送给Hive脚本程序。
• 在 Arguments 字段,输入相关信息,如 - d LIBS=s3n://elasticreducemap/samples/hive-ads/libs。HIVE脚本程序需要额外的库。
• 在 Action on Failure 字段中,选择 Continue。如果当前步骤失败,它将继续至下一个步骤。
当你完成后,点击Add,然后点击Create Cluster。你将会看到Summary 信息。
如上例,在你继续查询操作和分析大数据前,你需要在主节点上准备一个HIVE会话。
你将需要每隔五分钟向亚马逊S3推送 Impression 和 Click Log Files。每次添加一个条目,就会向客户显示一条广告。每次添加一个Click Log Files的条目,客户一条广告。类似于SQL的查询操作简化了关联客户点击数据和特定广告的过程。
总之,分析大数据的最佳方法就是在Hadoop上运行Hive,并使用SQL查询以简化日志数据分析。
作者
相关推荐
-
MapReduce和云计算什么关系呢?
-
大数据云服务:AWS和谷歌一决胜负
云中的大数据并不仅仅只是MapReduce。在大数据这样一个不断增长的市场中,捕捉下一个大的创新才是关键所在。
-
如何整合Hadoop为移动所用
根据CIMI公司最新的一项研究调查显示,企业考虑支持把加强移动办公人员移动性和生产效率的新型应用程序作为最高优先级来开发。这意味着大多数公司已经采用或者正在采用。
-
大数据未来发展趋势预测
大数据的世界正在稳步发展壮大。随着数据数量和种类的不断膨胀,读者都想知道接下来会发生什么。