Scala_Load csv data to hive via spark2.1_via pass parameters_HiveAllType
2024-10-21 08:35:19
prepare CSV data
NT,col_SMALLINT,col_BIGINT,col_INT,col_FLOAT,col_DOUBLE,col_DECIMAL,col_TIMESTAMP,col_DATE,col_INTERVAL,col_STRING,col_VARCHAR,col_CHAR,col_BOOLEAN,col_BINARY
100Y,100S,100L,,1.11,2.22,4.44,2013Â- ::,2013Â-, SECONDS,"""""",ab,a,TRUE,
create CSV file
[Dev root @ sd-9c1f-2eac /tmp/pl62716]
# vi CsvLoadToHive.csv
col_TINYINT,col_SMALLINT,col_BIGINT,col_INT,col_FLOAT,col_DOUBLE,col_DECIMAL,col_TIMESTAMP,col_DATE,col_INTERVAL,col_STRIN
G,col_VARCHAR,col_CHAR,col_BOOLEAN,col_BINARY
100Y,100S,100L,,1.11,2.22,4.44,2013Â- ::,2013Â-, SECONDS,"""""",ab,a,TRUE,
scala test code
package com.liupu
import org.apache.spark.{ SparkContext, SparkConf }
import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.hive.orc._
object LoadCsv3 {
def main(args: Array[String]) {
var sourceCsvPath = args()
var targetPath = args()
var hiveTableName = args() var sc = new SparkContext()
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
val df = hiveContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.option("inferSchema", "true")
.load(sourceCsvPath)
val selectedData = df.select("col_TINYINT","col_SMALLINT","col_BIGINT","col_INT","col_FLOAT","col_DOUBLE","col_DECIMAL","col_TIMESTAMP","col_DATE","col_INTERVAL","col_STRING","col_VARCHAR","col_CHAR","col_BOOLEAN","col_BINARY")
selectedData.write.format("orc").option("header", "true").save(targetPath)
hiveContext.sql(s"create external table $hiveTableName(col_TINYINT TINYINT,col_SMALLINT SMALLINT,col_BIGINT BIGINT,col_INT INT,col_FLOAT FLOAT,col_DOUBLE DOUBLE,col_DECIMAL DECIMAL,col_TIMESTAMP TIMESTAMP,col_DATE DATE,col_INTERVAL INTERVAL,col_STRING STRING,col_VARCHAR VARCHAR,col_CHAR CHAR,col_BOOLEAN BOOLEAN,col_BINARY BINARY) stored as orc location '$targetPath'")
hiveContext.sql("show tables").collect().foreach(println)
sc.stop()
}
}
spark test
最新文章
- C++右值引用浅析
- jQuery Mobile入门
- soundtouch变速wsola算法之改进
- LeetCode——Same Tree(判断两棵树是否相同)
- python中import和from...import...的区别
- el表达式获取cookie
- CTSC2015&;APIO2015滚粗记
- MYSQL常用命令集合
- 解决ubuntu下的文本编辑器gedit的乱码问题
- 其实,SSL也不是配通了就什么都不管的~~
- PHP面向对象编程快速入门
- Mac OS X Mavericks or Yosemite 安装Nginx、PHP、Mysql、phpMyAdmin
- 编码中的setCharacterEncoding 理解<;转自-fancychendong>;
- 4K视频在线看,网速跟不上怎么办?
- nginx日志格式定义和nginx.conf配置模板说明
- HDOJ 5667 Sequence//费马小定理 矩阵快速幂
- Java并发(一)并发编程的挑战
- 【Fiddler】杂乱基础学习
- 解决Android启动显示空白界面的问题
- myeclipse发布项目到tomcat时项目名称与web应用名称不一致问题
热门文章
- 洛谷【P1873】砍树
- linux python 更新版本
- PTA实验作业-01
- 问题:OAuth2.0;结果:帮你深入理解OAuth2.0协议
- sklearn交叉验证法(Cross Validation)
- Java基础——java中String、StringBuffer、StringBuilder的区别
- Luogu 3312 [SDOI2014]数表
- Java学习之多态(Polymorphism)
- 《鸟哥的Linux私房菜》读书笔记2
- idea中,使用facets添加完web后,项目已变为web项目,但web.xml中内容经常变为红色,并报错,如何解决?