无法创建数据提取 - Tableau 和 Spark SQL
Posted
技术标签:
【中文标题】无法创建数据提取 - Tableau 和 Spark SQL【英文标题】:Unable to Create Extract - Tableau and Spark SQL 【发布时间】:2019-05-30 10:03:10 【问题描述】:我正在尝试从 Spark SQL 中提取信息。创建提取时显示以下错误消息。
[Simba][Hardy] (35) 来自服务器的错误:错误代码:'0' 错误消息:'org.apache.spark.SparkException:作业因阶段失败而中止:906 个任务的序列化结果的总大小( 4.0 GB) 大于 spark.driver.maxResultSize (4.0 GB)'。
【问题讨论】:
***.com/questions/46763214/… 还需要帮助吗? 【参考方案1】:快速修复只是更改执行上下文中的设置。
spark.sql("set spark.driver.maxResultSize = 8G")
【讨论】:
所以你不能修改查询甚至添加另一个查询?如果他们担心安全性,您可以添加字符串变量,然后分配字符串“set spark.driver.maxResultSize = 8G”并将变量添加到您的查询中。也许让提取所有者知道这一点,他们可以修改查询。 假设使用Spark Thrift Server,只能执行SQL语句,大佬。【参考方案2】:不完全相信 Spark SQL Thrift Server,而且提炼所有事实有点尴尬。 Tableau 使用收集到的结果给驱动程序,它还能通过 Spark 获取它们吗?
但是:
在相关的 spark-thrift-sparkconf.conf 文件中设置 spark.driver.maxResultSize 0 意味着没有限制(驱动程序节点的物理限制除外)。 在相关的 spark-thrift-sparkconf.conf 文件中设置 spark.driver.maxResultSize 8G 或更高。请注意,并非驱动程序上的所有内存都可以使用。 或者,假设 Hive Impala 源,则使用 Impala Connection for Tableau,然后减少此类问题。此外,并发用户的数量可能是个问题。因此,最后一点。
至少可以说很有趣。
【讨论】:
【参考方案3】:spark.driver.maxResultSize 0
这是您可以放入高级集群设置的设置。这将解决您的 4 GB 问题。
【讨论】:
以上是关于无法创建数据提取 - Tableau 和 Spark SQL的主要内容,如果未能解决你的问题,请参考以下文章