Я сохранил свои записи в формате паркета и использую Spark1.5. Но когда я пытаюсь получить столбцы, он выдает исключение
java.lang.ClassCastException: java.lang.Long нельзя преобразовать в org.apache.spark.unsafe.types.UTF8String.
Это поле сохраняется как String при написании паркета. так вот пример кода и вывод для того же ..
logger.info("troubling thing is ::" +
sqlContext.sql(fileSelectQuery).schema().toString());
DataFrame df= sqlContext.sql(fileSelectQuery);
JavaRDD<Row> rdd2 = df.toJavaRDD();
* Первая строка кода (Регистратор) печатает следующее:
беспокоит то, что :: StructType (StructField (batch_id, StringType, true)) *
Но в следующий момент возникает исключение.
Есть идеи, почему он обрабатывает поле как Long
? (да, одна уникальная особенность столбца - это всегда число, например, отметка времени).
Любая помощь приветствуется.