Итак, я пытался загрузить файл csv с выводом настраиваемой схемы, но каждый раз получаю следующие ошибки:
Project_Bank.csv не является файлом Parquet. ожидаемое магическое число в хвосте [80, 65, 82, 49], но найдено [110, 111, 13, 10]
Вот как выглядит моя программа и записи в файле csv,
возраст; работа; в браке; образование; дефолт; баланс; жилье; ссуда; контакт; день; месяц; продолжительность; кампания; дни; предыдущий; доход; y 58; руководство; женат; высшее образование; нет; 2143; да; нет; неизвестно; 5; май; 261; 1; -1; 0; неизвестно; нет 44; техник; холост; второстепенный; нет; 29; да; нет; неизвестно; 5; май; 151; 1; -1; 0 ; неизвестно; нет 33; предприниматель; замужем; вторичный; нет; 2; да; да; неизвестно; 5; май; 76; 1; -1; 0; неизвестно; нет
Мой код:
$ spark-shell --packages com.databricks: spark-csv_2.10: 1.5.0
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import org.apache.spark.sql.types._
import org.apache.spark.sql.SQLContext
import sqlContext.implicits._
import org.apache.spark.sql.types.{StructType, StructField, StringType, IntegerType}
val bankSchema = StructType(Array(
StructField("age", IntegerType, true),
StructField("job", StringType, true),
StructField("marital", StringType, true),
StructField("education", StringType, true),
StructField("default", StringType, true),
StructField("balance", IntegerType, true),
StructField("housing", StringType, true),
StructField("loan", StringType, true),
StructField("contact", StringType, true),
StructField("day", IntegerType, true),
StructField("month", StringType, true),
StructField("duration", IntegerType, true),
StructField("campaign", IntegerType, true),
StructField("pdays", IntegerType, true),
StructField("previous", IntegerType, true),
StructField("poutcome", StringType, true),
StructField("y", StringType, true)))
val df = sqlContext.
read.
schema(bankSchema).
option("header", "true").
option("delimiter", ";").
load("/user/amit.kudnaver_gmail/hadoop/project_bank/Project_Bank.csv").toDF()
df.registerTempTable("people")
df.printSchema()
val distinctage = sqlContext.sql("select distinct age from people")
Любые предложения о том, почему я не могу работать с файлом csv здесь после нажатия правильной схемы. Заранее благодарим за совет.
Спасибо Амит К