博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark:读取文本文件存为hive表最佳实践
阅读量:6452 次
发布时间:2019-06-23

本文共 459 字,大约阅读时间需要 1 分钟。

存储表的时候,由以下几点要注意:

写入hive表前用coalesce方法对原始数据进行重新分区。
因为读取的数据一般是纯文本,写入hive中的默认是用snappy压缩过的parquet(.snappy.parquet),所以分区数如果保持原来的话可能会造成每个.snappy.parquet文件只有20~30MB大小,一般将分区数除以3或4左右即可。

df.coalesce(df.rdd.getNumPartitions/3)      .write    .mode(SaveMode.Append)    .saveAsTable("tablename")

过滤掉那些为null的行,能防止处理数据过程中报空指针异常。删除行的方式为:

val res = df.na.drop(Seq("column1", "column2", "column3")) // 这3个字段只要有1个为null就过滤掉。

转载于:https://www.cnblogs.com/xuejianbest/p/10285020.html

你可能感兴趣的文章
XenServer 6.5实战系列:Creating a VM Template from an Existing VM
查看>>
poi导出word
查看>>
云终端选购注意规避五个陷阱
查看>>
Spring+SpringMVC+Mybatis+Mysql整合实例【转】
查看>>
Spring 初始入口之ApplicationContext 分析
查看>>
马哥2016全新Linux+Python高端运维班第三周作业
查看>>
多媒体文件缓存
查看>>
scala-springmvc-hibernate观项目有感
查看>>
linux开机启动管理工具
查看>>
awk实用小技巧
查看>>
关于 Java 对象序列化您不知道的 5 件事
查看>>
cronolog介绍
查看>>
rpm包管理命令使用详解
查看>>
Linux 的 NUMA 技术
查看>>
虚拟磁带库VTL在实践中的优势
查看>>
人生需要放下的八样东西
查看>>
企业级Nginx Web 服务优化实战
查看>>
IE和Firefox对同一域名进行请求的并发连接数限制
查看>>
arm linux ppp拨号gprs上网移植
查看>>
linux新建用户的全程解析
查看>>