摘要:
一、自动分区推断1、概述表分区是一种常见的优化方式,比如Hive中就提供了表分区的特性。在一个分区表中,不同分区的数据通常存储在不同的目录中,分区列的值通常就包含在了分区目录的目录名中。Spark SQL中的Parquet数据源,支持自动根据目录名推断出分区信息。例如,如果将人口数据存储在分区表中,并且使用性别和国家作为分区列。那么目录结构可能如下所示:tableName |- gender=m... 阅读全文
posted @ 2019-07-31 16:27
米兰的小铁將
阅读(1096)
评论(0)
推荐(0)
摘要:
一、概述Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0。列式存储和行式存储相比有哪些优势呢?1、可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量。 2、压缩编码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(例如Run Len... 阅读全文
posted @ 2019-07-31 13:53
米兰的小铁將
阅读(373)
评论(0)
推荐(0)
摘要:
一、通用的load和save操作1、概述对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。load操作主要用于加载数据,创建出DataFrame;save操作,主要用于将DataFrame中的数据保存到文件中。Java版本DataFrame df = sqlContext.read().load("users.pa... 阅读全文
posted @ 2019-07-31 10:43
米兰的小铁將
阅读(940)
评论(0)
推荐(0)
摘要:
一、概述为什么要将RDD转换为DataFrame?因为这样的话,我们就可以直接针对HDFS等任何可以构建为RDD的数据,使用Spark SQL进行SQL查询了。这个功能是无比强大的。想象一下,针对HDFS中的数据,直接就可以使用SQL进行查询。Spark SQL支持两种方式来将RDD转换为DataFrame。第一种方式是使用反射来推断包含了特定数据类型的RDD的元数据。这种基于反射的方式,代码比较... 阅读全文
posted @ 2019-07-31 09:43
米兰的小铁將
阅读(1140)
评论(0)
推荐(0)

浙公网安备 33010602011771号