【问题标题】:Are Apache Spark or an SQL server solutions for memory-limited local data manipulation?Apache Spark 或 SQL 服务器解决方案是否适用于内存有限的本地数据操作?
【发布时间】:2017-08-08 05:57:38
【问题描述】:

我在工作时被分配了一个 8GB RAM 的桌面,但我无法修改。我的工作涉及对一组约 1GB、约 8M 行表进行数据操作。

如果我可以合并所有文件,我需要做的某些分析会更容易实现,但这意味着我目前使用的工具 R 根本无法加载合并的文件。

我四处询问,并被告知使用 Apache Spark 或设置本地 SQL 服务器可以解决问题,让我忽略数据处理步骤的内存限制(预期的输出总是只包含少数总数) .我只是想在安装任何东西之前确保它们确实能像那样工作。

(作为一个额外的问题,我想知道像 SPSS 这样的软件如何能够顺利地加载和处理庞大的数据集,以及为什么 R 不能实现类似的方法)

【问题讨论】:

  • 工作是为了什么?我们不知道您要做什么。
  • 我在考虑对数据进行任何任意操作都会返回一个小输出。举个具体的例子,计算每个唯一项目 ID 出现的次数。
  • 你的数据目前是什么格式的?
  • 然后将其加载到数据库中最有意义。或者可能是像 mongodb 这样的 nosql 解决方案。但是能够查询您的数据对于进行分析至关重要。遍历 csv 文件并不是成功的秘诀。
  • .csv 数据可以方便地加载到 SQL 数据库中,但 Spark 本身也支持它。您必须使用 $SPARK_HOME/bin/spark-shell --packages com.databricks:spark-csv_2.11:1.5.0 之类的东西指定 csv 插件。但是您可以直接在 Spark 中读取/写入 .csv,无需任何复杂的导入/导出步骤。

标签: sql-server apache-spark large-data


【解决方案1】:

Spark 和 SQL Server 绝对可以处理比 RAM 容量更大的数据。

安装这些工具应该没什么大不了的。卸载本地 Spark 安装只是删除一个简单的目录。

Spark 旨在用于计算机集群,但您可以在本地工作站上使用它。

Spark 还将直接以大多数平面文件格式读取/写入数据。使用 SQL Server,您必须将其加载到 SQL Server 表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2019-06-17
    • 2014-11-12
    相关资源
    最近更新 更多