Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何使用sqoop在配置单元中创建外部表。需要建议吗_Hadoop_Hive_Sqoop - Fatal编程技术网

Hadoop 如何使用sqoop在配置单元中创建外部表。需要建议吗

Hadoop 如何使用sqoop在配置单元中创建外部表。需要建议吗,hadoop,hive,sqoop,Hadoop,Hive,Sqoop,使用sqoop,我可以创建托管表,但不能创建externale表 请告诉我从数据仓库卸载数据并将其加载到配置单元外部表中的最佳做法 1.仓库中的表是分区的。有些是按日期分区的,有些是按状态分区的 请将您的想法或实践用于生产环境。Sqoop不支持创建配置单元外部表。相反,你可以: 使用Sqoop codegen命令生成用于创建与远程RDBMS表匹配的配置单元内部表的SQL(请参阅) 修改生成的SQL以创建配置单元外部表 在配置单元中执行修改后的SQL 运行Sqoop导入命令,加载到预先创建的配置单

使用sqoop,我可以创建托管表,但不能创建externale表

请告诉我从数据仓库卸载数据并将其加载到配置单元外部表中的最佳做法

1.仓库中的表是分区的。有些是按日期分区的,有些是按状态分区的


请将您的想法或实践用于生产环境。

Sqoop不支持创建配置单元外部表。相反,你可以:

  • 使用Sqoop codegen命令生成用于创建与远程RDBMS表匹配的配置单元内部表的SQL(请参阅)
  • 修改生成的SQL以创建配置单元外部表
  • 在配置单元中执行修改后的SQL
  • 运行Sqoop导入命令,加载到预先创建的配置单元外部表中

  • 步骤1:将数据从mysql导入配置单元表

    sqoop导入 --连接jdbc:mysql://localhost/ --用户名培训——密码培训 --表--配置单元导入--配置单元表-m 1 --以“,”结尾的字段

    步骤2:在配置单元中,将表类型从托管更改为外部

        Alter table <Table-name> SET TBLPROPERTIES('EXTERNAL'='TRUE')
    
    Alter表集TBLProperty('EXTERNAL'='TRUE')
    

    注意:您可以直接导入到配置单元表中,也可以导入到配置单元后端。

    我的最佳建议是将数据SQOOP到HDFS,并为原始操作和转换创建外部数据

    最后将数据混搭到内部表中。我相信这是以适当方式完成事情的最佳实践之一。 希望这有帮助!!! 请参阅以下链接:

  • 如果您想直接跳到点-->2.2.1外部或内部

  • 参考第一个链接后,第二个链接将澄清您的大部分问题


  • 干杯

    我对你的第一步有个问题。正如我所读的,codegen基于表模式结构在Java中生成DAO类。我如何从中提取您说我应该在第二步中修改的SQL?