package com.grady

import org.apache.spark.SparkConf
import org.apache.spark.sql.{Row, SaveMode, SparkSession} /**
* csv 文件数据写入hive
*/
object CsvToHive { def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf()
val spark: SparkSession = SparkSession.builder().config(conf).enableHiveSupport().getOrCreate() val fileName = "test1.csv"
csvToHive(spark, fileName)
} def csvToHive(spark: SparkSession, fileName: String): Unit = {
val hdfsPath = s"/tmp/jiang/${fileName}"
println(s"hdfsPath=${hdfsPath}") import spark.implicits._
val csvRDD = spark.read
.format("csv")
.option("sep",",")
.load(hdfsPath)
.rdd
csvRDD.foreach(println)
val dataRDD = csvRDD.map(r => Row(r(0).toString.toInt, r(1), r(2), r(3).toString.toInt, r(4))) val schema = SchemaType.getStudentSchema() val csvDF = spark.createDataFrame(dataRDD, schema)
csvDF.write.mode(SaveMode.Overwrite)
.format("Hive")
.insertInto("jiang.student")
} }

执行:spark-submit --master local[2] --num-executors 10 --class com.grady.CsvToHive /app/data/appdeploy/usehive1-1.0-SNAPSHOT.jar

最新文章

  1. iOS之常用宏定义
  2. 流式大数据处理的三种框架:Storm,Spark和Samza
  3. http://www.iis.net/downloads/microsoft/url-rewrite
  4. 第二十一课:js属性操作的兼容性问题
  5. DispatcherServlet中使用的特殊的Bean
  6. 【原】Kryo序列化篇
  7. Android中完全退出当前应用系统
  8. Orchard开源ASP.NET MVC CMS简介
  9. HDOJ 5071 Chat 模拟
  10. java I/O框架 (三)基本流
  11. 对于vxworks下硬盘驱动
  12. ELK学习总结(2-5)elk的版本控制
  13. IntelliJ IDEA部署web项目,Tomcat没有出现Artifacts
  14. ubuntu的磁盘扩容
  15. 在windows下安装、配置、运行PostgreSQL【转】
  16. 【bzoj 4764】弹飞大爷
  17. C++中extern(转)
  18. 使用JS调用手机本地摄像头或者相册图片识别二维码/条形码
  19. 078 Hbase中rowkey设计原则
  20. 初识Shell与Shell脚本

热门文章

  1. UiPath键盘操作的介绍和使用
  2. leetcode题解#3:无重复字符的最长子串
  3. 面试突击62:group by 有哪些注意事项?
  4. Pytorch从0开始实现YOLO V3指南 part3——实现网络前向传播
  5. 自动登录token过期问题
  6. 渗透测试(PenTest)基础指南
  7. 开发实践丨昇腾CANN的推理应用开发体验
  8. python+tkinter 的布局
  9. 2022-7-18 第五组 pan 面向对象
  10. linux nginx启用php