zoukankan      html  css  js  c++  java
  • sqoop导入导出

    1.mysql先创建数据库 create database my;
    2.进入数据库 use my;
    3.创建表,表字段需要对应hive表的字段并且设置编码格式,不然无法导入数据 create table sf11 (name varchar(33),id int)default charset = utf8;
    4.从hive中导入数据到mysql中:
    sqoop export
    --connect jdbc:mysql://192.168.56.110:3306/my //连接接口,my为数据库名称
    --username root //mysql用户名
    --password Newland@123 //mysql密码
    --export-dir '/user/hive/warehouse/hive.db/sf1/000000_0' //数据在hdfs中的路径
    --table sf9 //导进数据库中表的名称
    --input-fields-terminated-by '^' //分隔符


    关于用sqoop从hive(hdfs)导入数据到mysql遇到的问题:
    1.hive默认的分隔符'^'
    2.数据有中文:需要修改linux下的my.cnf文件,在mysqld下面增加character-set-server=utf8,重启mysql服务,service mysqld restart

    PS:1.4.7版本的坑
    not hive-conf-dir
    复制hive lib 包下面的hive-common-1.1.0-cdh5.7.0.jar 至sqoop lib 包下

    org.apache.hadoop.hive.shims.ShimLoader
    拷贝 hive lib 包下 hive-exec-1.1.0-cdh5.7.0.jar 至 sqoop 的lib包下

    PS:查看默认字符集
    mysql> show variables like 'char%';

    mysql中数据库与数据表编码格式的查看,创建及修改:https://www.nuoweb.com/database/8331.html

    sqoop export --connect jdbc:mysql://192.168.56.110:3306/my --username root --password root --export-dir '/input/000000_0' --table top --input-fields-terminated-by '^';




  • 相关阅读:
    Android 基础-2.0 拔打电话号码
    Android 基础-1.0 按钮4种点击事件
    Android Studio 技巧备忘
    Android Studio Mac版快捷键
    face++静态库转为动态库之二
    Podfile语法参考
    iOS 高级去水印,涂鸦去水印
    vector 用法小例子
    UltraCompare 激活
    linux 日志查询
  • 原文地址:https://www.cnblogs.com/wpy188/p/12416349.html
Copyright © 2011-2022 走看看