Следующий пример является примером использования spark2.0. Чтение намного быстрее, чем опция inferSchema. Spark 2.0 конвертирует в паркетный файл гораздо эффективнее, чем spark1.6.
import org.apache.spark.sql.types._
var df = StructType(Array(StructField("timestamp", StringType, true),StructField("site", StringType, true),StructField("requests", LongType, true) ))
df = spark.read
.schema(df)
.option("header", "true")
.option("delimiter", "\t")
.csv("/user/hduser/wikipedia/pageviews-by-second-tsv")
df.write.parquet("/user/hduser/wikipedia/pageviews-by-second-parquet")
Поворот qq назад от кадра M к R
qq_R = q ^ -1 * qq * q