我想在编译时使用未知格式的数据创建 Parquet 文件。稍后我将模式作为文本获取,并且我知道某些列包含日期和时间。我想使用 Spark 和 Java 来做到这一点。所以我按照http://spark.apache.org/docs/1.2.1/sql-programming-guide.html#programmatically-specifying-the-schema并创建了具有适当类型的模式。我尝试使用 SparkDataType.TimestampType
和DataType.DateType
类似日期的列。但他们都没有工作。当我尝试保存文件时,JavaSchemaRDD.saveAsParquetFile
我收到错误Unsupported datatype
+ 我尝试的日期类型。我试过这个,emptyRDD
所以数据转换没有任何问题。
调查后:http: //parquet.incubator.apache.org/documentation/latest/和 https://github.com/Parquet/parquet-format/blob/master/LogicalTypes.md我认为我需要转换数据转换成一些整数/长类型,并告知它们代表日期的事实。如果是这样,我该如何在 Spark 中做到这一点?或者也许我需要做点别的?