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")

原文地址:https://www.cnblogs.com/zjc10203/p/9080125.html

时间: 2024-10-12 21:30:53

python脚本 用sqoop把mysql数据导入hive的相关文章

利用Sqoop将MySQL数据导入Hive中

参考 http://www.cnblogs.com/iPeng0564/p/3215055.html http://www.tuicool.com/articles/j2yayyj http://blog.csdn.net/jxlhc09/article/details/16856873 1.list databases sqoop list-databases --connect jdbc:mysql://192.168.2.1:3306/ --username sqoop --passwor

使用 sqoop 将mysql数据导入到hive(import)

Sqoop 将mysql 数据导入到hive(import) 1.创建mysql表 CREATE TABLE `sqoop_test` ( `id` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 插入数据 2.hive 建表 hive> create external table sqoop_test

Sqoop将mysql数据导入hbase的血与泪

Sqoop将mysql数据导入hbase的血与泪(整整搞了大半天)  版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处: https://my.oschina.net/yunshuxueyuan/blogQQ技术交流群:299142667 一. 问题如何产生 庞老师只讲解了mysql和hdfs,mysq与hive的数据互导,因此决定研究一下将mysql数据直接导入hbase,这时出现了一系列问题. 心酸史: 二. 开始具体解决问题 需求:(将以下这张表数据导入mysql)

使用sqoop将mysql数据导入到hive中

首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表中的前100条数据导出来,只要id.jobname.salarylevel三个字段. 再Hdfs上创建目录 hadoop fs -mkdir -p /data/base #用于存放数据 我们cd到sqoop目录下执行命令 # \ 用于换行bin/sqoop import --connect jdbc

使用Sqoop将MySql数据导入到HDFS

##以上完成后在h3机器上配置sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz //将宿主机上MySql的test库中的users表的数据导入到HDFS,默认Sqoop会起4个Map运行MapReduce进行导入到HDFS,存放在HDFS路径为/user/root/users(user:默认用户,root:MySql数据库的用户,test:表名)目录下有四个输出文件sqoop import --connect jdbc:mysql://192.168.1.10

使用sqoop将mysql数据导入到hadoop

hadoop的安装配置这里就不讲了. Sqoop的安装也很简单. 完成sqoop的安装后,可以这样测试是否可以连接到mysql(注意:mysql的jar包要放到 SQOOP_HOME/lib 下): sqoop list-databases --connect jdbc:mysql://192.168.1.109:3306/ --username root --password 19891231 结果如下 即说明sqoop已经可以正常使用了. 下面,要将mysql中的数据导入到hadoop中.

sqoop同步mysql数据到hive中

一.sqoop 在同步mysql表结构到hive sqoop create-hive-table --connect jdbc:mysql://ip:3306/sampledata --table t1--username dev --password 1234 --hive-table t1; 执行到这一步就退出了,但是在hadoop的hdfs上的/hive/warehouse/的目录下是找不到t1表的目录, 但是正常执行完成是下面这样的: 错误就是hive的jar包有缺失 全部的jar包该是

mysql数据导入到sqlite数据

在做程序时,sqlite数据很方便.用mysql数据导出到sqlite的步骤:(用csv文件过渡) -------------------------------  先导出到csv文件  ------------------------- 1.用navicat软件将mysql数据导出到txt文件. 2.注意选择“包含列标题”(字段名).“栏位定界符”(csv文件使用逗号). 3.把所有的txt文件转换为utf-8编码. 4.写一个rename.bat(ren *.txt *.csv),全部统一改

wind本地MySQL数据到hive的指定路径

一:使用:kettle:wind本地MySQL数据到hive的指定路径二:问题:没有root写权限网上说的什么少jar包,我这里不存在这种情况,因为我自己是导入jar包的:mysql-connector-java-5.1.22-bin.jar我是从wind本地MySQL导数据到hive的指定路径,会出现2019/10/14 19:27:13 - Hadoop file output.0 - Caused by: org.pentaho.bigdata.api.hdfs.exceptions.Ac