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")
  }

原文地址:https://www.cnblogs.com/kwzblog/p/10180234.html

时间: 2024-11-11 04:38:09

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

sql 把一个用逗号分隔的多个数据字符串变成一个表的一列

USE [tms]GO/****** Object: UserDefinedFunction [dbo].[StrToTable] Script Date: 2017/4/26 9:06:20 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER Function [dbo].[StrToTable](@str varchar(1000))Returns @tableName Table( str2table varchar(50))

面试中被问到:Android中activity保存状态数据到底该在哪个方法中进行

今天接到一个电面,途中面试官问到一个问题,如果一个activity在后台的时候,因为内存不足可能被杀死,在这之前如果想保存其中的状态数据,比如说客户填的一些信息之类的,该在哪个方法中进行. 我听到的第一反应就是说:在onPause方法中进行保存状态的操作.但是面试官说:onPause()的持续时间很短,假如要进行一些长时间的操作呢? 然后我就纠结了,因为我知道,如果是因为内存不足而被清理,onDestroy()方法一般是不会被执行的.所以只好实话实说,只知道onDestroy在这种情况下不一定会

mysql建立表及表的简单操作-插入数据-删除主键-删除表-修改表的数据-删除表的数据

-- 1.使用数据库 USE ren; -- 2.建立student表 CREATE TABLE student ( sid INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,   -- UNSIGNED(无符号) AUTO_INCREMENT(自增) sname VARCHAR(10),    -- 只能保存10个字符 saddress VARCHAR(15)   -- 只能保存15个字符 )ENGINE=MYISAM DEFAULT CHARSET=utf8;

hive中的表、外部表、分区和桶的理解

一.概念介绍 Hive 没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表,只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据 Hive 中的 Table 和数据库中的 Table 在概念上是类似的,每一个 Table 在 Hive 中都有一个相应的目录存储数据.例如,一个表 pvs,它在 HDFS 中的路径为:/wh/pvs,其中,wh 是在 hive-site.xml 中由 ${hive.metastore.wareh

mysql从一个表中拷贝数据到另一个表中sql语句

这一段在找新的工作,今天面试时,要做一套题,其中遇到这么一句话,从一个表中拷贝所有的数据到另一个表中的sql是什么? 原来我很少用到,也没注意过这个问题,面试后我上网查查,回来自己亲手写了写,测试了下,确实有的.现在我记录下. 这个语句是:insert into A select * from B;这个语句根据需要变化,字段一定要一致: 另一种是MySQL复制表结构及数据到新表:CREATE TABLE 新表 SELECT * FROM 旧表;例子sql语句:CREATE TABLE new_t

hive表与外部表的区别

相信很多用户都用过关系型数据库,我们可以在关系型数据库里面创建表(create table),这里要讨论的表和关系型数据库中的表在概念上很类似.我们可以用下面的语句在Hive里面创建一个表: hive> create table wyp(id int, > name string, > age int, > tele string) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\t' > STORED AS TEX

hive内部表与外部表区别

1.创建内部表与外部表的区别是什么? 2.external关键字的作用是什么? 3.外部表与内部表的区别是什么? 4.删除表的时候,内部表与外部表有什么区别? 5.load data local inpath '/home/wyp/data/wyp.txt' into table wyp;的过程是什么样子的? 6.磁盘,hdfs,hive表他们之间的过程是什么样子的? 相信很多用户都用过关系型数据库,我们可以在关系型数据库里面创建表(create table),这里要讨论的表和关系型数据库中的表

在Windows cmd中计算行数

本文主体来自这篇外文文章的翻译.原文中有一个副标题:"如何简单地用Windows自带的FIND在CMD.exe中计算行数" 当我们在命令行环境中工作时,能计算其它工具输出内容的行数有时候是很有用的. 很多Unix/Linux操作系统包含一个叫wc的工具,这个工具有可以接受不不少选项, 在Windows上没有类似的这个工具的替代品,但是Windows CMD提示符中存在一 个可以实现差不多功能的工具. 在这边短文中,我们会明白如何用FIND在cmd中计算行数. 这个工具,实际上跟Unix

能用一个公式来计算用户体验吗?

能用一个公式来计算用户体验吗? 我对用一个公式来计算用户体验的追寻来源于一个实验,即我是否能计算一个设计的认知载入时间.当在谈论一个应用的载入速度时,我们常常把关注点放在界面的载入时间上,但是我们会忘了一点,那就是理解一个界面同样也是需要时间的,即所谓的“认知载入时间”.但当我越越来多地研究这个问题时,我越来越意识到载入时间――无论是界面上的还是认知上的――都可能只是一个更重要问题的一小部分,那就是:有没有可能把用户体验量化? 用户体验的问题在于――就像心理学――它是非常模糊的.很多人,包括我在