sparksql dataFrame 关于列的增删改操作

本文介绍在SparkSQL中如何进行DataFrame的列增删改操作,特别是在与ES和Redis集成的项目中。通过示例代码展示具体实现,包括从ES读取数据后对DataFrame进行列操作的场景。
摘要由CSDN通过智能技术生成

最近项目中用到spark和ES的集成,涉及到一系列对dataFrame列的操作,时间主要花在列的增删改上面。

整个类采用的是spark+ES+Redis架构,ES存基础数据,redis 存储条件,根据redis的条件从ES筛选出符合条件的记录。

val sqlContex = SparkSession.builder().master("local[2]")
  .appName("spark2ES")
  // .config("hive.metastore.uris", "thrift://172.1.1.199:9083") //集成hive
  .config("spark.testing.memory", "2147480000")
  .config("es.index.auto.create", "true")
  .config("es.nodes", "xxxx")
  // .enableHiveSupport() // 增加hive支持
  .getOrCreate()

// 读取es数据

val optionMap = Map("path" -> "ods_wj_apk_index/docs", "pushdown" -> "true")
val esDF = sqlContex.read.format("org.elasticsearch.spark.sql").options(optionMap).load()

// 增加列操作

 
// 方法一 sql的自定义函数
 val topic ="topic123"
tempDataFrame.createOrReplaceTempView("temp")
sqlContex.sqlContext.udf.register("replaceCol"
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值