如何将 DataFrame 中查询出来的对应字段的值获取出来并转换成 String

/*
	需求:
		在MySQL中有一张表:id,sqltext,state
		主要是本表中存在一个sql语句,现在需要SparkSQL去执行本SQL
*/

// 构建 SparkConf
val conf = new SparkConf.setAppName("XXX")

// 构建 SparkContext
val sc = new SparkContext(conf)

// 构建 HiveContext
val hivecontext = new HiveContext(sc)

// 获取数据库中的表,并构建成一张Hive临时表
/*
 这里获取的表的目的主要是用来保存数据的 ===》 将要执行的 SQL 语句保存在里面,然后通过这种方式取出来,并执行。
 
 通过 JDBC 的方式读取内容 :
	jdbcurl : MySQL的 jdbc 连接地址及相关的数据库名称、格式等信息
	tableName : 主要是指定要读取得 MySQL 中的表的名称。
	properties : 连接 MySQL 的数据库的相关的驱动、用户名、密码	
*/
// createOrReplaceTempView 最新的创建Hive临时表的算子
hivecontext.read.jdbc(jdbcurl,tableName,properties).createOrReplaceTempView("tempName")

// 获取临时表中的value 并转换为 String 类型。
val df = hivecontext.sql("select sqltext from tempName where state = 1").rdd.map(
row => {
		val sql = row.getAs[String]("sqltext")
		
		sql
	}
).collect()(0)
// 将执行结果保存在关系型数据库中
hivecontext.sql(df).write.mode("append").jdbc(jdbcurl,tableName,properties)

这里就是将DataFrame中的指定字段中的值单独取出来,取出来后变为String类型,方便以后对这个值进行操作。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Han_Lin_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值