parquet文件在spark中的读取

parquet文件本质是json文件的压缩版,这样不仅大幅度减少了其大小,而且是压缩过的,比较安全一点,spark的安装包里面提供了一个例子,在这个路径下有一个parquet文件:

spark-2.0.1-bin-hadoop2.7/examples/src/main/resources

我们可以查看一下:

[root@hadoop001 resources]# cat users.parquet 
0red88,lyssaBen, 
@	\Hexample.avro.User 
                           %name% 
                                 %favorite_color%5favorite_numbers%array<&
                                                                         nameDH&P 
                                                                                 favorite_color<@&P&%(favorite_numbersarray 
ZZ&؁ 
   avro.schema؁{"type":"record","name":"User","namespace":"example.avro","fields":[{"name":"name","type":"string"},{"name":"favorite_color","type":["string","null"]},{"name":"favorite_numbers","type":{"type":"array","items":"int"}}]}parquet-mr version 1.4.3耐AR1[root@hadoop001 resources]# XshellXshellXshell
-bash: XshellXshellXshell: command not found

看到了json格式的影子,但是好像是乱码了的,这就是压缩后的效果我们可以用spark进行查看

+------+--------------+----------------+
|  name|favorite_color|favorite_numbers|
+------+--------------+----------------+
|Alyssa|          null|  [3, 9, 15, 20]|
|   Ben|           red|              []|
+------+--------------+----------------+

发现spark可以读取到真实的内容,没有乱码,这是因为spark进行了解压缩的过程

怎么使用spark进行读取parquet文件,w3c也给了详细介绍(https://www.w3cschool.cn/spark_sql/parquet.html

这是我读取文件的代码:

val sqlContext=new org.apache.spark.sql.SQLContext(sc);
val df5=sqlContext.read.parquet("/home/spark-2.0.1-bin-hadoop2.7/examples/src/main/resources/users.parquet")

df5.show

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值