sparkはjson,parquetファイルを読みだします。
2702 ワード
sparkでサポートされているいくつかの一般的なフォーマット:
テキストファイル、フォーマットなし
jsonファイル、半構造化
parquet、1種の流行っている列式の保存のフォーマット
sequencefileは、key-valueに使われるhadoopファイルのフォーマットです。hdfsデータを読む必要があるなら、hiveに行くのが多いです。
企業ではあまり使わないです。sqlを書く時、sparksessionで解決できます。rddの各種transformとactionをいじりません。
テキストファイル、フォーマットなし
jsonファイル、半構造化
parquet、1種の流行っている列式の保存のフォーマット
sequencefileは、key-valueに使われるhadoopファイルのフォーマットです。hdfsデータを読む必要があるなら、hiveに行くのが多いです。
企業ではあまり使わないです。sqlを書く時、sparksessionで解決できます。rddの各種transformとactionをいじりません。
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
/**
* Created by zengxiaosen on 16/9/23.
*/
object operJson_and_parquet {
def main(args: Array[String]): Unit = {
val sparkconf = new SparkConf().setAppName("operJsonAndParquet").setMaster("local")
val ss = SparkSession.builder()
.config(sparkconf)
.getOrCreate()
val sc = ss.sparkContext
import ss.implicits._
// , rdd, toDF dataframe, sql
val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818")
ss.read.json("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/people.json")
.createOrReplaceTempView("people")
val rs = ss.sql("select * from people")
rs.printSchema()
rs.show()
ss.read.parquet("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/users.parquet")
.createOrReplaceTempView("users")
val rs2 = ss.sql("select * from users")
rs2.printSchema()
rs.show()
sc.stop()
ss.stop()
}
}