hadoop - 如何使用另一个表中的特定列值在 Hive 中创建表

标签 hadoop hive hql

我是 Hive 的新手,遇到了一些问题。我试图在此处和其他网站上找到答案,但没有成功……我还尝试了许多不同的查询,但都没有成功。

我有 my source table我想创建 new table like this .

是:

  • id 将是不同县的数量作为自动增量数字和主键
  • 作为县的不同名称(来自源表)
  • 最佳答案

    你可以遵循这种方法。

    A CTAS(按选择创建表)
    以你的例子,这个 CTAS 可以工作

    CREATE TABLE t_county 
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
    STORED AS TEXTFILE AS
    WITH t AS(
    SELECT DISTINCT county, ROW_NUMBER() OVER() AS id
    FROM counties)
    SELECT id, county
    FROM t;
    

    你不能在 Hive 上有主键或外键,因为你在像 Oracle 或 MySql 这样的 RBDMS 上有主键,因为 Hive 是读模式而不是像 Oracle 那样写模式,所以你不能在 Hive 上实现任何类型的约束。

    关于hadoop - 如何使用另一个表中的特定列值在 Hive 中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61842796/

    相关文章:

    scala - 将Spark插入Java堆空间

    hadoop - 如何运行查询配置单元并通过日志获取 applicationID

    hadoop - Hive中的Hive/lib/hive-builtins-0.9.0.jar的FileNotFoundException

    java - 谁能帮我写一个更新查询

    linux - java.lang.UnsatisfiedLinkError :/opt/oracle/oraloader-2. 0.0-2/lib/libolh11.so : libclntsh. so.11.1: 无法打开共享对象文件

    Hadoop 和 Hive 中的 Hadoop LZO 和 SnappyCodec 错误

    hadoop - 使用 oozie 运行多个 mapreduce 作业?

    hadoop - 为什么在缺少连接字段之一时,HIVE 中的完全外部连接会产生奇怪的结果?

    sql - HQL中的子串提取

    mysql - JPQL 内连接