一下内容来源于DT大数据梦工厂:
DT大数据梦工厂联系方式:
新浪微博:www.weibo.com/ilovepains/博客:http://.blog.sina.com.cn/ilovepains
SparkSQL下的Parquet的使用、
实践一、 Spark SQL下的parquest最佳实践
1、过去整个业界对大数据的发呢系的技术栈的pipeline一般分为以下2种方式:
a)Data Source -->HDFs-->MR/hive/spark(相当于ETL)-HDFS parquet----Spark/impala---Result service(可以放在DB中,也可能通过JDBC/ODBC来作为数据服务使用)
b) Data source---Real time update data to HBase/DB –》 export parquet—spark SQL/impala ---》result Service(可以放在DB中,也可能通过JDBC/ODBC来作为数据服务使用)上诉2种方式完全可以通过kafka+spark Streaming +spark SQL(内部也强烈推荐使用parquet的方式来存储)的方式取代
2、期待的方式:Data Source kafka –》spark streaming -->Parquet–>SparkSQL(ML、Graphx等)-parqust—>其他各种Data Mining 等
二: parquet 的精要介绍
1、 parquet 是列式存储格式的一种文件,列式存储具有以下优势:
a:可以跳过不符合的数据,只读取需要的数据,降低IO的数据量
b压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如:RunLength endcoding 和Delta Encoding),
进一步节约存储空间c只去读需要的列,支持向量运算,能够获取更好的扫描性能