利用 sparksession读取Parquet,Json格式文件
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
Spark支持的一些常见的格式:
文本文件:无任何的格式
json文件:半结构化
parquet:一种流行的列式存储格式
sequencefile:一种(k-v)的Hadoop文件格式.
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
object OpsWihtJson_and_parquet {
def main(args: Array[String]): Unit = {
val sparkconf = new SparkConf().setAppName("test_Spark_sql").setMaster("local[2]")
val ss = SparkSession.builder()
.config(sparkconf)
.getOrCreate()
val sc = ss.sparkContext
import ss.implicits._
val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818")
//读文本文件,生成普通rdd,通过.toDF转化为dataframe,然后可以就使用sql了
ss.read.json("/home/zkpk/Desktop/test.json")
.createOrReplaceTempView("people")
val rs = ss.sql("select * from people")
rs.printSchema()
rs.show()
ss.read.parquet("/home/bymain/Desktop/mllibDATA/scalaLogisticRegressionWithSGDModel/data/part-r-00000-9295ec7d-956a-46e7-91f8-a0b6f8a8ac93.snappy.parquet")
.createOrReplaceTempView("users")
val rs2 = ss.sql("select * from users")
rs2.printSchema()
rs.show()
sc.stop()
ss.stop()
}
}
“`
SparkSession实质上是SQLContext和HiveContext的组合(未来可能还会加上StreamingContext),所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计算实际上是由sparkContext完成的。
如果需要读hdfs数据的话,通常走Hive的比较多。一般写sql的时候,能用sparksession解决的,都不会去弄rdd的各种transform和action*
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)