spark抽取mysql数据到hive_使用spark将内存中的数据写入到hive表中
使用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表中相关推荐
- 将DataFrame数据如何写入到Hive表中
1.将DataFrame数据如何写入到Hive表中? 2.通过那个API实现创建spark临时表? 3.如何将DataFrame数据写入hive指定数据表的分区中? 从spark1.2 到spark1 ...
- hive 导入hdfs数据_将数据加载或导入运行在基于HDFS的数据湖之上的Hive表中的另一种方法。
hive 导入hdfs数据 Preceding pen down the article, might want to stretch out appreciation to all the well ...
- 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段
1,修改1列 update student s, city c set s.city_name = c.name where s.city_code = c.code; 2,修改多个列 update ...
- 往hive表中插入与导出数据方式load ,insert ,sqoop 等方式详解
往hive数据仓库的表中导入数据,可以直接insert ,也可以选择load方式.当然也可以通过第三方工具如sqoop等将数据导入到hive当初.特别注意:hive虽然不会验证用户装载的数据和表的模式 ...
- hive表中的数据导出
将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 一.insert导出 将查询的结果导出到本地 insert overwrite local direc ...
- hive表中的数据导出:表数据的导出7种方式
将hive表中的数据导出到其他任意目录,例如linux本地磁盘,例如hdfs,例如mysql等等 insert导出 1)将查询的结果导出到本地 :第一种 insert overwrite local ...
- java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...
怎么用java把数据库里的数据写入到excel表中 你是想读取excel内容,然后整合一下数据,然后再生成一个新的excel吧 package aa; import java.io.FileInput ...
- oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...
天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...
- Spark抽取MySQL分表优化
从MySQL抽取Hive表XXX ,MySQL中有128张分表 原抽数逻辑SQL为 SELECT CONCAT(good_sn, "#", wh_code) AS goodsId, ...
最新文章
- 第三课时:PowerDesigner15基本操作
- js代码(经典+有用+常用)
- protobuf 下载、安装、编译
- 求最高、最低、平均分
- SQL on and 和 on where 的区别
- 依赖注入:一个Mini版的依赖注入框架
- 设置IIS会话过期时间
- AirCard 750 GPRS无线上网卡的问题及随想
- SQL那些事儿(九)--oracle数据库知识体系
- Shell 操作 —— 随机数、定时任务
- 如何在Eclipse中从XSD生成XML
- 9月8日全球域名商(国际域名)解析新增量TOP20
- Yarn resourceManager 无法启动
- TreeMap按key排序
- Unix操作系统的原理、优点与缺点
- 东南大学2014计算机考研真题,2014年东南大学920信号数电考研真题(回忆版)
- 固高运动控制卡常规返回值
- ipad上的html编辑器,iPad Pro变生产力工具,你还缺这个轻量级浏览器端代码编辑器...
- 【评测】MP DNA提取试剂盒使用报告
- socket技术路线_呐,这不就是你要的C++后台开发学习路线吗?