我有一个基本问题,希望能更好地理解:
背景
假设我有一个巨大的 CSV 文件(50 GB),我想将其用于数据科学团队的分析。理想情况下,团队的每个成员都能够以他们选择的语言与数据交互,数据不需要频繁移动(考虑到它的大小),并且所有人都可以灵活地访问计算资源。
建议的解决方案
Apache Spark 似乎是当前满足上述要求的解决方案的领先者。Scala、Python、SQL 和 R 都能够在灵活的计算资源之上(如果利用 DataBricks、Azure、AWS、Cloudera 等云提供商)访问其所在位置的数据。
问题
以 Microsoft Azure / HDInsight 域中的特定示例为例。假设我们要将这个大型 CSV 上传到 Azure Data Lake。如果我们随后利用 HDInsight 中的 Spark 为这些数据定义架构,我们是否需要从数据所在的位置移动/导入数据?
我的理解可能是错误的,一个关键的好处是数据能够以它的原生 CSV 格式驻留在数据湖中。在其上运行计算不需要移动它。此外,如果我们希望根据需要经常关闭/启动 Spark 集群,我们可以这样做,只需将它们重新指向廉价存储的 CSV。
结论
您能够就上述内容提供任何确认,或澄清误解,将不胜感激。Hadoop / Spark 生态系统继续快速发展,我想确保我对它当前的能力有一个正确的理解。