数据迁移sqoop学习心得

2024-05-12 17:48

本文主要是介绍数据迁移sqoop学习心得,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       sqoop是Apache基金会下的数据迁移工具。主要功能是能将数据库中的数据导入到hdfs中,同时也能使hdfs中的数据导出至数据库中。

sqoop的安装只需在hadoop集群中的任意一台机器上即可。因为sqoop自动配置了搜寻NameNode和ResourceManage的功能,运行时能访问到hadoop的core-site.xml,hdfs-site.xml,yarn-site.xml等配置文件。

1.上传sqoop

2.安装和配置
   在添加sqoop到环境变量
  将数据库连接驱动拷贝到$SQOOP_HOME/lib里


3.使用
 第一类:数据库中的数据导入到HDFS上(以博主的ip  mysql的3308端口  数据库名:feitian  表名:goodinfo 为例)

  sqoop import --connect  jdbc:mysql://192.168.56.1:3308/feitian  --username root --password 123 --table goodinfo                 //基础结构

  1.--target-dir '/sqoop/test'                      //指明hdfs的路径。 默认是/user/root目录。

  2. -m  2                                                    //指明启动两个Map。

  3.--fields-terminated-by  '\t'                  //指明导入到hdfs中的数据表中每列以'\t'的分隔。

  4.--columns ’id,account,income'         // 指明数据库表中某些列导入hdfs。

  5.--where  'id>2 and id <=9'                //添加where 条件语句。

  6.sqoop import --connect jdbc:mysql://192.168.56.1:3308/feitian --username root --password 123 --query 'select * from 表一 where ... and $CONDITIONS'

    //多表查询。query语句后必须包含$CONDITIONS。

    //如果在query中指明-m>1 必须写明分割字段 '--split-by 表.id' Map将按照id来分割数据(每个map分得多少数据)。

 

第二类:HDFS中的数据导入到数据库表中

  注意:数据库表中必须和HDFS中数据相同的数据类型。

  sqoop export --connect jdbc:mysql://192.168.56.1:3308/feitian --username root --password 123 --export-dir '/sqoop/test/' --table 表 -m 1

 

4.可能错误

1.电脑防火墙未关闭。

2.数据库必须以权限root登录。

3.给root用户添加远程访问数据库权限(默认只能访问localhost。不能通过远程ip访问)

方法一:GRANT ALL PRIVILEGES ON itcast.* TO 'root'@'192.168.56.1’ IDENTIFIED BY '123' WITH GRANT OPTION;
 FLUSH PRIVILEGES; 
 
 方法二:GRANT ALL PRIVILEGES ON *.* TO
'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
 FLUSH PRIVILEGES

这篇关于数据迁移sqoop学习心得的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983318

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下