let’s spark

sparks of spark

使用spark加载并读取parquet格式的文件——之使用scala版

前言

It has been a long time.

最近有需求读取并测试parquet格式的文件。目前hive、impala、spark等框架均支持parquet。

本文是采用scala接口的spark进行简单的hello world。

进入spark-shell环境

注意:

  1. 输出可以看到这里用的是spark1.3.1
  2. spark-shell自动为你注册了Spark context,该对象名字为:sc。后面直接使用sc对象进行设置。
  3. 看到scala提示符,就意味着可以进行编程测试了。

注册SQLContext并进行配置

步骤:

  1. 使用sc(Spark context)对象注册SQLContext
  2. 使用setConf对SQLContext进行配置
  3. 可配置的参数见:http://spark.apache.org/docs/1.3.1/sql-programming-guide.html#parquet-files
  4. 可配置的参数在1.5.1的最新版本中增加了很多

导入parquet文件

导入文件:

打印parquet文件的schema:

注意:如果sqlContext.setConf(“spark.sql.parquet.binaryAsString”,”false”),则列数据类型将为原始的binary。这里自动进行了转换。

将parquet文件注册为临时表

parquet表的DML操作

执行sql:

遍历结果: