您的位置:首页 > 产品设计 > UI/UE

day62-Spark SQL下的Parquet使用最佳实践和代码实战

2016-05-08 13:34 411 查看
一下内容来源于DT大数据梦工厂:

DT大数据梦工厂联系方式:
新浪微博:www.weibo.com/ilovepains/
微信公众号:DT_Spark

博客: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只去读需要的列,支持向量运算,能够获取更好的扫描性能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: