gpt4 book ai didi

apache-spark - Apache Sqoop 和 Spark

转载 作者:行者123 更新时间:2023-12-04 04:46:41 25 4
gpt4 key购买 nike

为了将大型 SQL 数据加载到 Spark 以进行转换和机器学习,以下选项中的哪一个在性能方面更好。
选项 1:使用 Spark SQL JDBC 连接器将 SQLData 直接加载到 Spark。
方案2:使用Sqoop 将SQLData 以csv 格式加载到HDFS,然后使用Spark 从HDFS 读取数据。

请建议以上哪一项是将大型 SQL 数据加载到 Spark 的好方法。

最佳答案

我从未使用过 Squoop,但答案可能取决于您的用例。对于您想要从 Spark 查询一些关系 SQL 数据的单个作业,您应该只使用内置的 JDBC 连接器。这就是分析数据库的全部意义所在:它是一种以统一结构存储大量记录的方式,以便可以快速准确地查询。

如果您的 SQL 数据库和 Spark 集群之间存在网络限制,并且在结果数据集上运行大量作业并试图尽量减少对数据库的请求,那么首先传输数据可能是有意义的。一个可能值得构建复制任务的实际示例(听起来它不适用于您的情况)可能是您的数据库和集群位于单独的防火墙后面。

另一个注意事项。如果您决定需要先将数据复制到文件中,您可能应该考虑 CSV 的替代方法。研究像 Parquet 这样的格式可能提供的一些好处,特别是如果您要传输/存储/查询一个非常大的面向柱状的数据集。

关于apache-spark - Apache Sqoop 和 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com