Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何从命令行或spark shell显示拼花地板文件的方案(包括类型)?_Scala_Apache Spark_Parquet - Fatal编程技术网

Scala 如何从命令行或spark shell显示拼花地板文件的方案(包括类型)?

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 好的,我想我有一个

我已经决定如何使用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

好的,我想我有一个很好的方法,只要看一下第一行就可以推断出这个方案。(虽然不确定这有多优雅,但如果它恰好是空的呢?我肯定会有更好的解决方案)

在某些点上打印:

{
  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)