Если я правильно понимаю, ArrayType можно добавить как столбцы Spark DataFrame. Я пытаюсь добавить многомерный массив в существующий Spark DataFrame с помощью метода withColumn
. Моя идея состоит в том, чтобы этот массив был доступен в каждой строке DataFrame, чтобы использовать его для отправки информации из функции map.
Полученная ошибка говорит о том, что функция withColumn
ищет тип Column
, но получает массив. Существуют ли другие функции, которые позволят добавить ArrayType
?
object TestDataFrameWithMultiDimArray {
val nrRows = 1400
val nrCols = 500
/** Our main function where the action happens */
def main(args: Array[String]) {
// Create a SparkContext using every core of the local machine, named RatingsCounter
val sc = new SparkContext("local[*]", "TestDataFrameWithMultiDimArray")
val sqlContext = new SQLContext(sc)
val PropertiesDF = sqlContext.read
.format("com.crealytics.spark.excel")
.option("location", "C:/Users/tjoha/Desktop/Properties.xlsx")
.option("useHeader", "true")
.option("treatEmptyValuesAsNulls", "true")
.option("inferSchema", "true")
.option("addColorColumns", "False")
.option("sheetName", "Sheet1")
.load()
PropertiesDF.show()
PropertiesDF.printSchema()
val PropertiesDFPlusMultiDimArray = PropertiesDF.withColumn("ArrayCol", Array.ofDim[Any](nrRows,nrCols))
}
Спасибо за вашу помощь.
С уважением,
Johann