【发布时间】:2019-10-18 03:05:17
【问题描述】:
我正在使用 spark 数据框从 NOSQL 数据库中读取数据。由于在 databricks 中加载最大 40MB 数据是有限制的,我正在寻找一种限制数据的解决方案。我曾尝试使用 limit() 或 take() 选项,但两者都给我一个错误,因为它们先读取整个数据然后再限制。
在读取自身时会引发错误,我们是否可以在读取整个数据集之前限制数据?我们过滤了数据,只取了两列,但这些数据仍然很大。
ReadData = spark.read.format("com.mongodb.spark.sql.DefaultSource").option("uri",connectionstring).option("pipeline",pipeline).load().limit(2000)
【问题讨论】:
-
您收到的确切错误消息是什么?
-
mongodb.MongoCommandException:命令失败,错误 16501:'查询超出了允许的最大内存使用量 40 MB
-
这是数据块的限制,他们将在下一个版本中解决。
标签: scala apache-spark apache-spark-sql azure-databricks