首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop / Spark生态系统中的数据移动

Hadoop / Spark生态系统中的数据移动
EN

Stack Overflow用户
提问于 2017-05-09 14:41:05
回答 2查看 421关注 0票数 2

我有一个基本问题,我希望能更好地理解:

背景

假设我有一个巨大的CSV文件(50 GB),我希望可以在一个数据科学团队中进行分析。理想情况下,团队的每个成员都能够以自己选择的语言与数据进行交互,数据不需要频繁地移动(考虑到数据的大小),而且所有成员都可以灵活地访问计算资源。

提出的解决方案

Apache似乎是目前满足上述要求的解决方案的领跑者。Scala、Python、SQL和R都能够访问其站点所在的数据(如果利用云提供商(如DataBricks、Azure、AWS、Cloudera),则可以访问这些数据)。

问题

以Microsoft / HDInsight域中的一个具体例子为例。假设我们将这个大型CSV上传到Azure Data。如果我们然后利用HDInsight中的Spark为这些数据定义一个模式,那么我们是否需要从它所在的位置移动/导入数据呢?

我的理解,这可能是错误的,是一个关键的好处是,数据能够驻留在它的本机,CSV格式的数据湖。在它上运行计算并不需要移动它。此外,如果我们希望在需要的基础上频繁地将星火集群带来,我们可以这样做--简单地将它们重新指向廉价存储的CSV。

结论

如能就上述事项提供任何确认,或对误解作出澄清,将不胜感激。Hadoop / Spark生态系统继续快速发展,我想确保我对它目前的能力有一个正确的理解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-14 10:09:38

简短的回答是肯定的,该文件可以留在Azure数据湖商店。您可以简单地将Data作为额外的存储帐户添加到您的星火HDInsight集群中,或者甚至在提供您的集群时将它作为您的默认存储帐户。这将使您的所有火花作业访问您的数据文件驻留在您的存储帐户(S)。

有关更多信息,请参见此处:https://learn.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-use-blob-storage#using-azure-data-lake-store-with-hdinsight-clusters

注意,如果您选择拆卸您的HDInsight集群,并且使用Hive与schema/table持久化,请确保使用外部数据库承载您的转移。

有关外部转移瘤的更多信息,请参见此处:https://learn.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-provision-linux-clusters#a-nameuse-hiveoozie-metastoreahive-metastore

票数 1
EN

Stack Overflow用户

发布于 2017-05-16 21:31:40

有两点需要注意:

  1. 使用Parquet 进行高效存储:与其使用CSV存储数据,不如以Parquet格式存储数据,因为它节省了大量空间,而使用Spark (由于其列式格式)将为查询提供更好的性能,这是因为谓词下推。您可以使用Parquet压缩高达60 %的文件。
  2. 数据局部性数据驻留在执行器机器上:如果要在Azure上创建集群并将数据存储在Azure数据湖上,那么将有一些数据从数据湖移动到执行器,除非数据是执行程序的本地数据。

希望它能回答你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43872851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档