Scala 如何从命令行或spark shell显示拼花地板文件的方案(包括类型)?
我已经决定如何使用sparkshell来显示字段名,但它很难看,而且不包含类型Scala 如何从命令行或spark shell显示拼花地板文件的方案(包括类型)?,scala,apache-spark,parquet,Scala,Apache Spark,Parquet,我已经决定如何使用sparkshell来显示字段名,但它很难看,而且不包含类型 val sqlContext = new org.apache.spark.sql.SQLContext(sc) println(sqlContext.parquetFile(path)) 印刷品: ParquetTableScan [cust_id#114,blar_field#115,blar_field2#116], (ParquetRelation /blar/blar), None 好的,我想我有一个
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
println(sqlContext.parquetFile(path))
印刷品:
ParquetTableScan [cust_id#114,blar_field#115,blar_field2#116], (ParquetRelation /blar/blar), None
好的,我想我有一个很好的方法,只要看一下第一行就可以推断出这个方案。(虽然不确定这有多优雅,但如果它恰好是空的呢?我肯定会有更好的解决方案) 在某些点上打印:
{
optional binary cust_id;
optional binary blar;
optional double foo;
}
fileSchema: message schema {
optional binary cust_id;
optional binary blar;
optional double foo;
}
parquetFile()的结果是具有.printSchema()方法的SchemaRDD(1.2)或DataFrame(1.3)。您应该能够执行以下操作:
sqlContext.read.parquet(path).printSchema()
发件人:
请你展示一下输出是什么样子的好吗?它包括类型信息吗?我还没有能够测试这个,因为我仍然在1.0.0上
sqlContext.read.parquet(path).printSchema()
// Print the schema in a tree format
df.printSchema()
// root
// |-- age: long (nullable = true)
// |-- name: string (nullable = true)