【问题标题】:How to output to console the format of the dataFrames in format("console")?如何输出以控制台格式(“控制台”)中的数据帧的格式?
【发布时间】:2021-12-02 22:41:27
【问题描述】:

我正在输出readStreamformat("rate"),我想获取dataframe 的开箱即用值字段的格式。我在文档中找到的唯一选项是truncate,但我找不到如何强制获得类似的东西

Batch: 3
-------------------------------------------
+-----------------------+---------+
|timestamp:String       |value:Int|
+-----------------------+---------+
|2021-10-14 14:28:58.981|0        |
+-----------------------+---------+

而不是那个

Batch: 3
-------------------------------------------
+-----------------------+-----+
|timestamp              |value|
+-----------------------+-----+
|2021-10-14 14:28:58.981|0    |
+-----------------------+-----+

输出代码为:

df
      .writeStream
      .format("console")
      .option("truncate", "false")
      .start().awaitTermination(20000)

【问题讨论】:

  • 不要认为spark的api中有这个功能。也就是说,您可以通过从 dataframe.schema 获取架构,然后使用 selectas 以及架构和列名来实现此目的。

标签: scala apache-spark apache-spark-sql spark-streaming


【解决方案1】:

感谢@m_vemuri

解决办法是

println("Rate schema:")
println(rate.schema.fields.mkString)

因为我知道ratevalue 生成的类型是什么:

Rate schema:
StructField(timestamp,TimestampType,true)StructField(value,LongType,true)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    相关资源
    最近更新 更多