我在对它执行一些计算后得到一个结果框架。假设该框架是结果。当我将其写入Amazon S3时,有特定的单元格显示为空白。我的结果框架的前5个是:
_________________________________________________________
|var30 |var31 |var32 |var33 |var34 |var35 |var36|
--------------------------------------------------------
|-0.00586|0.13821 |0 | |1 | | |
|3.87635 |2.86702 |2.51963 |8 |11 |2 |14 |
|3.78279 |2.54833 |2.45881 | |2 | | |
|-0.10092|0 |0 |1 |1 |3 |1 |
|8.08797 |6.14486 |5.25718 | |5 | | |
---------------------------------------------------------
But when i run result.show() command i am able to see the values.
_________________________________________________________
|var30 |var31 |var32 |var33 |var34 |var35 |var36|
--------------------------------------------------------
|-0.00586|0.13821 |0 |2 |1 |1 |6 |
|3.87635 |2.86702 |2.51963 |8 |11 |2 |14 |
|3.78279 |2.54833 |2.45881 |2 |2 |2 |12 |
|-0.10092|0 |0 |1 |1 |3 |1 |
|8.08797 |6.14486 |5.25718 |20 |5 |5 |34 |
---------------------------------------------------------
字符串
此外,空白显示在相同的细胞,每次我运行它。
3条答案
按热度按时间exdqitrt1#
使用此选项可将数据保存到s3
DataFrame.repartition(1).write.format("com.databricks.spark.csv").option("header", "true").save("s3n://Yourpath")
0sgqnhkj2#
对于任何可能遇到过这个问题的人,我可以告诉我什么对我有用。我基于一些逻辑将一个 Dataframe (比如说inputDF)与另一个DF(delta DF)连接起来,并存储在输出 Dataframe (outDF)中。我得到了同样的错误,我可以在www.example.com()中看到一条记录outDF.show,但是当将此dataFrame写入Hive表或持久化outDF时,(使用outDF.persist(softLevel.MEMORY_AND_DISC))我无法看到那个特定的记录。
解决方案:-在将其与deltaDF连接之前,我将inputDF持久化(inputDF.persist(NodeLevel.MEMORY_AND_DISC))。之后,outDF.show()输出与outDF写入的hive表一致。
P.S:-我不知道这是如何解决这个问题的。如果有人能解释这一点,那就太棒了,但上述方法对我有效。
bq3bfh9z3#
这个问题的唯一解决方案是再次刷新数据。我在使用Databricks笔记本将数据写入增量表时遇到了同样的问题。然而,一旦我刷新数据,我可以看到我的记录填充了之前显示为NULL的单元格。