Hadoop HDF和hive是如何关联的?

Hadoop HDF和hive是如何关联的?,hadoop,hive,Hadoop,Hive,我有psudeo分布式hadoop环境,并使用sqoop和hive进行数据导入和分析 我使用sqoop将数据从mysql导入到hive,它起了作用,我在我的hive位置获得了数据,即/user/hive/warehouse/,我可以在hive表中看到数据 我的疑问是: 当我从mysql导入到hive(构建在hadoop之上)时,存储在hadoop中的数据是否会丢失 为什么要在我的hdfs中创建/user/hive/warehouse hive如何在数据之上工作 如果我在mysql中更新数据,我可

我有psudeo分布式hadoop环境,并使用sqoop和hive进行数据导入和分析

我使用sqoop将数据从mysql导入到hive,它起了作用,我在我的hive位置获得了数据,即
/user/hive/warehouse/
,我可以在hive表中看到数据

我的疑问是:

  • 当我从mysql导入到hive(构建在hadoop之上)时,存储在hadoop中的数据是否会丢失
  • 为什么要在我的hdfs中创建
    /user/hive/warehouse
  • hive如何在数据之上工作
  • 如果我在mysql中更新数据,我可以在hdfs中使用sqoop增量导入来更新相同的数据,但是如果我直接使用hive导入,它将反映在hive表中,而不是hdfs中,我的理解正确吗
  • 在使用sqoop和hdfs概念执行数据摄取时,我感到困惑

    有人能帮我吗?

    答案

    1-数据仅存储在HDFS中

    2-hive-default.xml值处的属性“hive.metastore.warehouse.dir”告诉数据存储的位置默认值为“/user/hive/warehouse”

    3-在MapReduse作业上转换用户查询


    4-您可以使用SQOOP进行增量数据加载,所有数据都将存储在HDFS上,如果您已经在mysql中创建了表,它将反映出来。

    假设我在mysql中更新记录,并使用增量导入到sqoop1203 | adithyan | be | 30000 | AC | 1204 | prasanth | phpdev 30000 | AC | 1205 | adithyan b.tech 5000000 |第一行的ITkapil已更新为adithyan,MySQL中的7874575已更新为1205。我如何更新hive表中的同一记录,该表当前看起来如下1203 kalil phpdev 30000 AC 1204 prasanth phpdev 30000 AC 7894561230245879546 adithyan b.tech 5000000 IT