2016-05-31 92 views

回答

0

通常,您需要創建一個代表您的模式的StructType。 A StructType包含一個Array[StructField],其中數組的每個元素對應於您的模式中的一列。 A StructField可以是任何支持DataType - 包括嵌套模式的另一個StructType

創建模式可以是簡單的:

val schema = StructType(Array(
    StructField("col1", StringType), 
    StructField("col2", LongType) 
)) 

如果要生成一個複雜的數據集架構 - StructTypes一個包含嵌套 - 那麼你很可能需要創建一個遞歸函數。在spark-avro集成庫中可以找到這樣一個函數的樣子。函數toSqlType需要Avro模式並將其轉換爲Spark StructType

+0

謝謝@ david-griffin,但我後**自動模式發現/推理**。我應該如何採樣數據併合並模式? –