怎样用sqoop把navicat for mysql 里的表导入到hive中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用sqoop把navicat for mysql 里的表导入到hive中相关的知识,希望对你有一定的参考价值。

参考技术A sqoop导入mysql中表不需要手动创建。连接到hive的默认数据库后会自动创建的。Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如

MySQL
,Oracle
,Postgres等)中的数据导入到Hadoop的HDFS中

python脚本 用sqoop把mysql数据导入hive

转:https://blog.csdn.net/wulantian/article/details/53064123

用python把mysql数据库的数据导入到hive中,该过程主要是通过python语言操作sqoop.

#! /usr/bin/env python
# coding:utf-8
# --------------------------------
# Created by coco  on 16/2/23
# ---------------------------------
# Comment: 主要功能说明 :初始化业务数据库

import os
import pyhs2


conn=pyhs2.connect(host="192.168.8.94",port=10000,authMechanism="PLAIN",user="hdfs")
mysql_info={"host":"192.168.8.94","port":3306,"user":"root","passwd":"gc895316"}
print mysql_info
def run_hive_query(sql):
    with conn.cursor()  as cursor:
        cursor.execute(sql)
        return cursor.fetchall()
def mysql_to_hive(host,port,user,passwd,database,table):
    #os.system("hadoop fs -rm    -r /user/task/%s"%table)
    if [database] not in run_hive_query("show databases"):
        with conn.cursor() as cursor:
            cursor.execute("create database " +database)
    with conn.cursor() as cursor:
        cursor.execute("use  "+database)
    if [table] not in run_hive_query("show tables"):
        os.system("sqoop   import --connect   jdbc:mysql://%s:%s/%s --username  %s   --password  %s --table %s  --hive-database  %s  -m 10 --create-hive-table --hive-import   --hive-overwrite "%(
            host,port,database,user,passwd,table,database))
    else:
        os.system("sqoop   import --connect   jdbc:mysql://%s:%s/%s --username  %s   --password  %s --table %s  --hive-database  %s  -m 10 --hive-import   --hive-overwrite "%(
            host,port,database,user,passwd,table,database))


mysql_to_hive(mysql_info["host"],mysql_info["port"],mysql_info["user"],mysql_info["passwd"].replace("(","\("),"wwn","cm_vip")

 

以上是关于怎样用sqoop把navicat for mysql 里的表导入到hive中的主要内容,如果未能解决你的问题,请参考以下文章

使用navicat连接mysq数据库

navicat for mysql 怎样使用

Navicat for MySQL怎样执行SQL语句

Navicat for MySQL怎样设置外键

navicat for mysql怎样导出数据库

Navicat for MySQL怎样执行SQL语句