scala - 将 SparkSQL 的输出打印到数据框
问题描述
我目前正在为特定表运行分析命令,并且可以看到在 Spark-Console 中打印的统计信息
但是,当我尝试将输出写入 DF 时,我看不到统计信息。
火花版本:1.6.3
val a : DataFrame = sqlContext.sql("ANALYZE TABLE sample PARTITION (company='aaa', market='aab', edate='2019-01-03', pdate='2019-01-10') COMPUTE STATISTICS").collect()
spark Shell 中的输出
Partition sample{company=aaa, market=aab, etdate=2019-01-03, p=2019-01-10} stats: [numFiles=1, numRows=215, totalSize=7551, rawDataSize=461390]
19/03/22 02:49:33 INFO Task: Partition sample{company=aaa, market=aab, edate=2019-01-03, pdate=2019-01-10} stats: [numFiles=1, numRows=215, totalSize=7551, rawDataSize=461390]
数据帧的输出
19/03/22 02:49:33 INFO PerfLogger: </PERFLOG method=runTasks start=1553237373445 end=1553237373606 duration=161 from=org.apache.hadoop.hive.ql.Driver>
19/03/22 02:49:33 INFO PerfLogger: </PERFLOG method=Driver.execute start=1553237373445 end=1553237373606 duration=161 from=org.apache.hadoop.hive.ql.Driver>
19/03/22 02:49:33 INFO Driver: OK
19/03/22 02:49:40 INFO Executor: Running task 0.0 in stage 2.0 (TID 2)
19/03/22 02:49:40 INFO Executor: Finished task 0.0 in stage 2.0 (TID 2). 940 bytes result sent to driver
19/03/22 02:49:40 INFO TaskSetManager: Finished task 0.0 in stage 2.0 (TID 2) in 4 ms on localhost (1/1)
19/03/22 02:49:40 INFO DAGScheduler: ResultStage 2 (show at <console>:47) finished in 0.004 s
19/03/22 02:49:40 INFO TaskSchedulerImpl: Removed TaskSet 2.0, whose tasks have all completed, from pool
19/03/22 02:49:40 INFO DAGScheduler: Job 2 finished: show at <console>:47, took 0.007774 s
+------+
|result|
+------+
+------+
您能否让我知道如何将相同的统计信息输出到 Dataframe 中。
谢谢。!
解决方案
如果您想以您使用的方式从 Dataframe 打印,您可以使用,
val a : DataFrame = sqlContext.sql("ANALYZE TABLE sample PARTITION (company='aaa', market='aab', edate='2019-01-03', pdate='2019-01-10') COMPUTE STATISTICS")
a.select("*").show()
推荐阅读
- autodesk-forge - Forge model.sync webhook 的安全/范围规则是否与其他规则不同?
- javascript - 嘲笑一个模块
- jhipster - 如何将默认排序设置为 jh 表?
- c - Lexicographical Order - 如何处理大写字母之间的比较
- math - HSV三角形中的公式
- node.js - 从 lambda 函数到 VPC 中的 EC2 实例的 Api 调用在 nodejs 中超时(有时它工作正常)
- delphi - 如何在事件处理程序中设置 AnsiString 参数?
- amazon-web-services - 你如何将变量子转换为yaml中的字符串?
- asp.net - 创建一个子域并将其指向域位置
- blazor - 客户端 Blazor HttpClient 工厂