Sqoop使用经验

作者: gregocean | 来源:发表于2019-03-03 21:54 被阅读0次
  1. 导Oracle数据源时要注意对于用户名、库表的大小写
    # How to specify Oracle database schema name in Sqoop import command

2.出现报错 exception “GC Overhead limit exceeded”.发现是获取到的数据块大小超过了分配的内存大小。可以在jdbc连接串中加上配置来显性设置大小:
&defaultFetchSize=10000
Handling database fetch size in Sqoop

3.要明确知道sqoop 脚本的password和username参数均指的是连接rdbms所需要的用户名密码,因为sqoop在hadoop的客户端上执行,已经拥有了对应的权限(具体取决于集群的认证配置,比如Kerberos认证),故不包含hive的用户名密码!

4.通过使用--delete-target-dir来避免目标目录已经存在的报错问题,也就不用在sqoop之前加上删除目标目录的语句了。但是这个选项与增量同步模式不能共存(很显然)!

5.增量更新,两部分数据,利用hql合并,但是表有分区,需要指定分区partition(),分区字段如果要显示地写则语句重复且可能有遗漏,可只写字段名而不写字段值,会自动插入。
但是需要在执行insert overwrite之前执行设置,取消自动分区限制
set hive.exec.dynamic.partition.mode=nostrick;
因为hive 默认不允许这种行为,使用不好可能会导致分区暴增。

6.增量同步时的源库表同步字段不能是varchar类型的

7.密码可以使用密码文件 --password-file 而非 --password
但要注意密码文件的写入问题,很可能多写入一个换行符导致密码错误,可使用下列指令写入:
echo -ne "password" > ~/.project.password
另外需要注意密码含有shell中的转义字符(比如$)需要加反斜杠。

相关文章

  • Sqoop使用经验

    导Oracle数据源时要注意对于用户名、库表的大小写# How to specify Oracle databas...

  • Sqoop

    sqoop使用: 根据脚本执行:sqoop --options-file sqoop.sh import--con...

  • sqoop抽数遇坑记

    介绍sqoop 使用sqoop 坑之记录 坑之填补

  • 从hive导出到MySQL中

    使用sqoop

  • 玩儿数据 - Sqoop (RDBMS To Hadoop 操作

    本文中的Sqoop使用v1.4.6版本Sqoop官方档:http://sqoop.apache.org/docs/...

  • Sqoop安装

    sqoop下载下载地址 使用sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz这个 解压压缩...

  • Sqoop 使用

    Sqoop 概要 Sqoop是Hadoop和关系数据库服务器之间传送数据的一种工具。链接各种DBMS到Hadoop...

  • Sqoop安装和简单使用

    下载sqoop 因为官方并不建议在生产环境中使用sqoop2,即1.99.7,所以这里我用的是sqoop1,即1....

  • sqoop mysql 导入hive CDH

    mysql 驱动jar包 使用版本 CDH sqoop lib 包路径,sqoop 需要找到jar 包联接mysq...

  • sqoop安装教程

    1、 由于使用的是hadoop2.7,所以下载sqoop版本为:sqoop-1.4.6.bin__hadoop-2...

网友评论

    本文标题:Sqoop使用经验

    本文链接:https://www.haomeiwen.com/subject/sqxvuqtx.html