项目积累

15 篇文章 0 订阅
8 篇文章 0 订阅
项目名称:

convertpytohive.scala

功能:

将已经打过标签的数据存储到一个hive表中,partition字段值为category_param,category值为文件中类别值,param为要传进去的值。

开发中遇到问题:
  • 在rdd中不能给外部变量赋值

    var contentstr="default"
    // 1.spark从hdfs中读取多个文件
    val spark = sparkConfig.getSparkSessionWithHive("convertto")
    val filedata = spark.read.text(hdfspath)
    //2.将filedata转换为rdd(category,url,label)
    val originaldata = filedata.rdd.map { x =>
    contentstr = x.getString(0).indexOf(",")
    }
    println(contentstr)// contentstr将输出仍为default
    
  • 如果rdd格式为rdd[Row],则获取rdd中的值时使用x.getString(0)这种格式;如果rdd为rdd[String,…],则用x._1这种格式,注意,x._1必须是从1开始,元组是从1开始的。

    rdd.map(x => x.getString(0))
    rdd.map(x => (x._1,x._2))
    
  • 打印rdd中的数据

    println("打印rdd")
    originaldata.collect().foreach(println)
    
  • Row表示rdd中的每一行数据,跟table没有关系
  • 编程过程中,每一个类在写的时候要写“提纲”,很重要!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值