码迷,mamicode.com
首页 > 其他好文 > 详细

Spark 数据导入时的类型检测相关问题

时间:2017-05-21 21:48:22      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:spark 大数据 hadoop sqlserver

Spark 可以读取文本,csv和rmdb中的数据,并且带有类型自动检测功能


public final static String DATA_SEPARATOR_TAB = "\t";

session.read().format("csv").option("delimiter", Constants.DATA_SEPARATOR_TAB).option("inferSchema", "true").option("header", "true").option("encoding", charset).csv(path).toDF(columnNames).write().mode(mode).saveAsTable(tempTable);


红色属性决定spark是否自动探测数据类型,如果不开启自动探测,默认都是string

rdbms导入到spark中默认会类型探测和对应,但是在处理sqlserver的时间类型有问题

技术分享



如上图所示

只有datetime可以被spark识别并存储为日期类型,其他的都落地成了String类型,所以在执行data_formate时因为要多做一步转换所以性能会差很多




Spark 数据导入时的类型检测相关问题

标签:spark 大数据 hadoop sqlserver

原文地址:http://xk0230.blog.51cto.com/11859350/1927897

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!