使用spark将内存中的数据写入到hive表中

hive-site.xml

hive.metastore.uris

thrift://master:9083

Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.

javax.jdo.option.ConnectionURL

jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true

JDBC connect string for a JDBC metastore

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

Driver class name for a JDBC metastore

javax.jdo.option.ConnectionUserName

root

username to use against metastore database

javax.jdo.option.ConnectionPassword

123456

password to use against metastore database

hive.cli.print.header

true

Whether to print the names of the columns in query output.

hive.cli.print.current.db

true

Whether to include the current database in the Hive prompt.

下面是示例代码

package spark_sql

import org.apache.spark.sql.SparkSession

import org.apache.spark.sql.types.{StringType, StructField, StructType}

import test.ProductData

/**

* @Program: spark01

* @Author: 努力就是魅力

* @Since: 2018-10-19 08:30

* Description:

*

* 使用spark将内存中的数据写入到hive表中,这是一个可以完整运行的例子

*

*

* 下面是hive表查询的结果

* hive (hadoop10)> select * from data_block;

* OK

* data_block.ip data_block.time data_block.phonenum

* 40.234.66.122 2018-10-12 09:35:21

* 5.150.203.160 2018-10-03 14:41:09 13389202989

*

**/

case class Datablock(ip: String, time:String, phoneNum:String)

object WriteTabletoHive {

def main(args: Array[String]): Unit = {

val spark = SparkSession

.builder()

.master("local[*]")

.appName("WriteTableToHive")

.config("spark.sql.warehouse.dir","D:\\reference-data\\spark01\\spark-warehouse")

.enableHiveSupport()

.getOrCreate()

import spark.implicits._

val schemaString = "ip time phoneNum"

val fields = schemaString.split(" ")

.map(fieldName => StructField(fieldName, StringType,nullable = true))

val schema = StructType(fields)

// val datablockDS = Seq(Datablock(ProductData.getRandomIp,ProductData.getRecentAMonthRandomTime("yyyy-MM-dd HH:mm:ss"),ProductData.getRandomPhoneNumber)).toDS()

// val datablockDS = Seq(Datablock("192.168.40.122","2018-01-01 12:25:25","18866556699")).toDS()

datablockDS.show()

datablockDS.toDF().createOrReplaceTempView("dataBlock")

spark.sql("select * from dataBlock")

.write.mode("append")

.saveAsTable("hadoop10.data_block")

}

}

spark抽取mysql数据到hive_使用spark将内存中的数据写入到hive表中相关推荐

  1. 将DataFrame数据如何写入到Hive表中

    1.将DataFrame数据如何写入到Hive表中? 2.通过那个API实现创建spark临时表? 3.如何将DataFrame数据写入hive指定数据表的分区中? 从spark1.2 到spark1 ...

  2. hive 导入hdfs数据_将数据加载或导入运行在基于HDFS的数据湖之上的Hive表中的另一种方法。

    hive 导入hdfs数据 Preceding pen down the article, might want to stretch out appreciation to all the well ...

  3. 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段

    1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...

  4. 往hive表中插入与导出数据方式load ,insert ,sqoop 等方式详解

    往hive数据仓库的表中导入数据,可以直接insert ,也可以选择load方式.当然也可以通过第三方工具如sqoop等将数据导入到hive当初.特别注意:hive虽然不会验证用户装载的数据和表的模式 ...

  5. hive表中的数据导出

    将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 一.insert导出 将查询的结果导出到本地 insert overwrite local direc ...

  6. hive表中的数据导出:表数据的导出7种方式

    将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 insert导出 1)将查询的结果导出到本地 :第一种 insert overwrite local ...

  7. java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...

    怎么用java把数据库里的数据写入到excel表中 你是想读取excel内容,然后整合一下数据,然后再生成一个新的excel吧 package aa; import java.io.FileInput ...

  8. oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...

    天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...

  9. Spark抽取MySQL分表优化

    从MySQL抽取Hive表XXX ,MySQL中有128张分表 原抽数逻辑SQL为 SELECT CONCAT(good_sn, "#", wh_code) AS goodsId, ...

最新文章

  1. 第三课时:PowerDesigner15基本操作
  2. js代码(经典+有用+常用)
  3. protobuf 下载、安装、编译
  4. 求最高、最低、平均分
  5. SQL on and 和 on where 的区别
  6. 依赖注入:一个Mini版的依赖注入框架
  7. 设置IIS会话过期时间
  8. AirCard 750 GPRS无线上网卡的问题及随想
  9. SQL那些事儿(九)--oracle数据库知识体系
  10. Shell 操作 —— 随机数、定时任务
  11. 如何在Eclipse中从XSD生成XML
  12. 9月8日全球域名商(国际域名)解析新增量TOP20
  13. Yarn resourceManager 无法启动
  14. TreeMap按key排序
  15. Unix操作系统的原理、优点与缺点
  16. 东南大学2014计算机考研真题,2014年东南大学920信号数电考研真题(回忆版)
  17. 固高运动控制卡常规返回值
  18. ipad上的html编辑器,iPad Pro变生产力工具,你还缺这个轻量级浏览器端代码编辑器...
  19. 【评测】MP DNA提取试剂盒使用报告
  20. socket技术路线_呐,这不就是你要的C++后台开发学习路线吗?

热门文章

  1. 《海龟交易法则》经典梳理
  2. Matlab矩阵的拼接
  3. java spring aop 注解包_Spring AOP 注解配置实例
  4. sql server2008如何修改mac地址_如何查看本机的MAC地址和IP地址?
  5. python爬取知乎标题_python爬虫 爬取知乎文章标题及评论
  6. sata修改为ahci后系统无法启动_固态重装系统
  7. 边缘计算如何实现海量IoT数据就地处理
  8. linux中改变文件大小,Linux 改变文件大小的方法
  9. Vue $nextTick
  10. react-性能优化