hive,把一个表中计算好的数据,存到另一个外部表中

Posted kwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive,把一个表中计算好的数据,存到另一个外部表中相关的知识,希望对你有一定的参考价值。

直接上代码:

第一部分:

case class OrdPacsresult_obj(pk_dcpv: String, result_obj: String)

第二部分:

def ordsubj: Unit = {
    import sparkSession.implicits._
    import sparkSession.sql
    val dataset: Dataset[OrdPacsresult_subj] = sql("select pk_dcpv,result_obj,result_subj from diagbot.ord_rec_pacs_filter where result_subj is not null").as[OrdPacsresult_subj]

    val mapRDD: Dataset[(String, String)] = dataset.map(x => {
      val pk_dcpv: String = x.pk_dcpv
      val result_subj = x.result_subj
      (pk_dcpv, result_subj)
    })
    val rdd: RDD[(String, String)] = mapRDD.rdd.repartition(100)
    val key: RDD[(String, String)] = rdd.reduceByKey((x, y) => {
      val buffer: StringBuffer = new StringBuffer()
      buffer.append(x).append("\n")
      if (!buffer.toString.contains(y)) {
        buffer.append(y).append("\n")
      }
      buffer.toString
    })
    val f: DataFrame = key.map(x => {
      OrdPacsresult_subj(x._1, x._2)
    }).toDF()
    f.repartition(1).write.parquet("hdfs://192.168.2.232:9000/datas/parquetFile/OrdPacsresult_subj")
  }

 

以上是关于hive,把一个表中计算好的数据,存到另一个外部表中的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中

MySQL中如何把一个数据库中的表数据,导到另一个数据库的表中

hive中怎么把文本插入表中

hive外部表分区

将 hive 外部表更改为同一数据库中的内部表也会从另一个表中删除数据

Hive 动态分区