我们都知道Spark会在内存中进行计算.我只是好奇以下.
如果我RDD
从HDFS在我的pySpark shell中创建10 ,它是否意味着所有这些10 RDD
秒数据将驻留在Spark Workers Memory上?
如果我不删除RDD
,它会永远存在于内存中吗?
如果我的数据集(文件)大小超过可用的RAM大小,那么数据将存储在何处?
现有过程-将原始结构数据复制到Redshift的登台层中。然后使用ETL工具(例如Informatica,Telend)将增量加载到Datamart / datawarehouse的Fact和Dimension表中。所有联接都发生在数据库层中(ETL将查询推送到数据库中)-Spark是否可以替换ETL工具并进行相同的处理并将数据加载到Redshift?-这种架构的优点和缺点是什么?
etl data-warehouse amazon-web-services apache-spark pyspark-sql
我们的数据仓库位于 Redshift(50TB 大小)中。有时,业务用户会运行大型查询(太多联接、内联查询 - 由 Tableau 等 BI 工具生成)。大查询会降低数据库性能。
在 Redshift 之上使用 Spark 来卸载 Redshift 之外的一些计算是否明智?
或者通过添加更多节点来提高 Redshift 计算能力会更容易且更具成本效益吗?
如果我在 Spark 中执行select a.col1, b.col2 from table1 a, table2 b where a.key = b.key
。表通过 JDBC 连接并驻留在 Redshift 上,实际处理在哪里发生(在 Spark 或 Redshift 中)?