我的用例:
我想通过SQOOP将大数据从EC2导入到Hive中。在Hive中导入的数据将通过应用某种算法在Hive中进行处理,并将生成一些结果(以表格形式,仅在Hive中)。并且生成的结果将再次通过SQOOP导出回Ec2。
我是Amazon Web Services的新手,希望在AWS EMR的帮助下实施此用例。我已经在本地机器上实现了它。
我已经阅读了一些与AWS EMR相关的链接,用于启动实例,以及什么是EMR,它是如何工作的,等等。
我对电子病历有一些怀疑,比如:
1)电子病历使用Hadoop存储桶,它保存输入和输出数据S3处理(以对象的形式)。->我不知道如何在S3上以对象的形式存储数据(我的数据将是文件)
2)如前所述,我已经为我的Java用例实现了一个任务。因此,如果我创建程序的JAR并使用Custom JAR创建Job Flow。是否可以像这样实现,或者需要为此做一些额外的事情?
3)正如我在我的用例中所说的,我希望在SQOOP的帮助下将结果导出回Ec2。EMR是否支持SQOOP?
--编辑的第4部分)我还将每天/每周从SQL Server导入我的数据,因为我在SQL Server中的数据每天/每周都会更新。如果我想导入S3上的数据并将其提供给配置单元,那么我该如何做到呢?(因为Hive将其数据存储在HDFS上的/user/hive/ stores目录下)。如何链接到HDFS中的S3和/user/hive/warehouse目录。
请尽快回复我。我想尽可能早地做这件事。
非常感谢。
发布于 2012-04-24 02:35:30
可以在AWS EMR上安装Sqoop。您不需要使用S3来存储文件,可以使用本地(临时) HDFS。安装Sqoop后,您可以将数据导入HDFS,在HDFS中运行计算,然后再次使用Sqoop导出数据。
这是我写的一篇关于如何在AWS EMR上安装Sqoop的文章:http://blog.kylemulka.com/2012/04/how-to-install-sqoop-on-amazon-elastic-map-reduce-emr/
发布于 2012-04-25 00:21:49
与我在Hive邮件列表中的回复相同:
回答您的问题:
1) S3术语使用“对象”这个词,我相信他们有很好的理由来解释为什么对我们蜂巢来说,S3对象和存储在S3上的文件是一样的。文件的完整路径将是亚马逊所说的存储桶“键”,相应的值将是文件的内容,例如S3 ://my_ S3 /tables/log.txt将是键,文件的实际内容将是S3对象。您可以使用AWS web控制台创建存储桶,并使用S3cmd (http://s3tools.org/s3cmd)等工具将数据放入S3。
但是,您不一定需要使用S3。S3通常仅在您想要持久存储数据时使用。大多数人会将他们的输入日志/文件存储在S3上,以便进行配置单元处理,还会将最终的聚合和结果存储在S3上,以供将来检索。如果您只是临时将一些数据加载到配置单元中,对其进行处理并将其导出,则不必担心S3。组成集群的节点具有组成HDFS的临时存储。你可以直接用它。唯一的副作用是,一旦终止集群,您将丢失HDFS中的所有数据。如果没问题,不用担心S3。
电子病历实例基本上是EC2实例,并在其上进行了一些额外的设置。我认为,在EC2和EMR实例之间传输数据应该很简单。如果您的数据存在于EBS卷中,您可以考虑添加一个EMR引导程序操作,将相同的EBS卷挂载到您的EMR实例上。不过,如果你不需要所有花哨的安装业务,这可能会更容易。
此外,请记住,在亚马逊数据中心之间传输数据可能会有成本,如果可能,您会希望将S3存储桶、EMR集群和EC2实例保持在同一区域。在同一地域内,不应该有任何额外的转移成本。
2)是的,EMR支持自定义jars。您可以在创建集群时指定它们。这应该只需要对jar本身进行最小程度的移植更改,因为它运行在Hadoop和Hive上,而Hadoop和Hive与您安装的本地集群和EMR上安装的jar是相同的(好吧,足够接近)。
3)带EMR的Sqoop应该可以。
发布于 2018-07-25 05:22:27
@mark-grover提到,您可以将s3://与hdfs://互换使用,这并不完全准确。但是,在某些情况下,您可以使用apache sqoop中内置的AWS EMR和它抱怨的import命令;
ERROR tool.ImportTool: Imported Failed: Wrong FS: s3://<my bucket path>, expected: hdfs://ip-<private ip>.ap-southeast-2.compute.internal:8020
(我这里显然没有足够的代表发表评论,但可以回答go数字)
https://stackoverflow.com/questions/10276573
复制相似问题