1. jdbc导出sql
plsql不能连接MySQL,PL/SQL Developer集成开发环境是专门开发面向Oracle数据库的应用。
可以连MySQL的客户端工具有:
1、Navicat
这是一个比较常用的MySQL客户端软件,界面简洁、功能强大,可以直接查看数据库目录结构,建库建表也非常容易,支持SQL脚本导入导出、数据备份恢复及建模设计等,对于日常管理和维护MySQL数据库来说,是一个非常不错的工具。
2、DBeaver
这是一个非常有名的通用数据库管理软件,免费、开源、跨平台,基于Java开发,支持目前几乎所有的主流数据库,包括MySQL、PostgreSQL、Oracle、DB2等(只要具有JDBC驱动即可),可以轻松查看数据库目录结构、导入导出数据库及执行相关脚本操作,对于管理MySQL数据库来说,是一个非常不错的选择。
3、HeidiSQL
这是一个非常轻量级的数据库客户端软件,免费、开源,采用Delphi 语言开发而成,目前主要应用在Windows平台下,支持MySQL、MariaDB、SQL Server等主流数据库,可同时连接多个数据库服务器,支持创建和编辑数据表、视图、存储过程、触发器等,SQL脚本导出导入也非常容易,对于日常管理MySQL来说,也是一个非常不错的软件。
2. jdbc导出数据库
运行环境 centos 5.6 hadoop hive
sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具。
上海尚学堂hadoop大数据培训组原创,陆续有hadoop大数据技术相关文章奉上,请多关注!
在使用过程中可能遇到的问题:
sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中。
sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop-0.20.2-CDH3B4.tar.gz,解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。
1 首先安装sqoop,如果你使用的是clouder分发版的话就非常简单
# yum install sqoop
如果用官方版本的话
# cd /etc/yum.repos.d
# wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo
# yum -y install sqoop
sqoop就会安装完成
2 使用sqoop
首先将mysql-connector-java-5.1.16-bin.jar文件复制到/usr/lib/sqoop/lib文件夹下
3 导入导出数据库
1)列出mysql数据库中的所有数据库命令
# sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456
2)连接mysql并列出数据库中的表命令
# sqoop list-tables --connect jdbc:mysql://localhost:3306/test --username root --password 123456
命令中的test为mysql数据库中的test数据库名称 username password分别为mysql数据库的用户密码
3)将关系型数据的表结构复制到hive中
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table username --username root --password 123456 --hive-table test
其中 --table username为mysql中的数据库test中的表 --hive-table test 为hive中新建的表名称
4)从关系数据库导入文件到hive中
sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password mysql-password --table t1 --hive-import
5)将hive中的表数据导入到mysql中
./sqoop export --connect jdbc:mysql://localhost:3306/test --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03
如果报错
11/08/05 10:51:22 INFO mapred.JobClient: Running job: job_201108051007_0010
11/08/05 10:51:23 INFO mapred.JobClient: map 0% reduce 0%
11/08/05 10:51:36 INFO mapred.JobClient: Task Id : attempt_201108051007_0010_m_000000_0, Status : FAILED
java.util.NoSuchElementException
at java.util.AbstractList$Itr.next(AbstractList.java:350)
at uv_info.__loadFromFields(uv_info.java:194)
at uv_info.parse(uv_info.java:143)
at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:79)
at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:38)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
at com.cloudera.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:187)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1127)
at org.apache.hadoop.mapred.Child.main(Child.java:264)
此错误的原因为sqoop解析文件的字段与MySql数据库的表的字段对应不上造成的。因此需要在执行的时候给sqoop增加参数,告诉sqoop文件的分隔符,使它能够正确的解析文件字段。
hive默认的字段分隔符为'\001'
./sqoop export --connect jdbc:mysql://localhost:3306/datacenter --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03 --input-fields-terminated-by '\t'
3. jdbc导入
1、首先导入mysql的jar包,有了jar包之后才能做之后的事情。导入方法是新建一个lib文件夹,之后把mysql的jar包放在里边,之后右击选择build path选择add to build path就会出现如下效果。
2、第一步,注册数据库驱动,注册代码如下,注意驱动的名称不能写错,是固定的。
3、获取数据库的连接。实现代码是,注意的是三个参数,第一个是URL系统路径,第二个和第三个是系统账户和密码 我的是1234 没设置的默认是空的。
4、预编译sql的语句,查询和修改的不一样,这里以查询的为例。
5、执行sql语句,即处理mysql语句。
6、处理结果集,就是处理数据。
4. jdbc导出sql脚本
mongodb是非关系型数据库,并不支持sql语句,它执行的是类似json对象的语句,而且各个编码语音不一样驱动实现的也不一样,可以实际看看具体例子。
5. jdbc导出hive数据
通过JDBC接口执行一条SQL语句时,这条SQL语句被转换成几个MR任务。
6. jdbc导出数据表
任何web软件和应用程序都需要强大的数据库管理工具,因此开发者选择一款合适的数据库管理工具尤为重要。本文列出了几款好用的数据库管理工具(有些并非开源或免费),以供开发者们参考选择:
1、
MySQL管理工具 phpMyAdmin
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等。
缺点:
SQL语法不高亮
2、
数据库管理工具 Navicat Lite
Navicat是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本。它的设计符合资 料库管理员、开发人员及中小企业的需求。 Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯。Navicat 支持的数据库包括 MySQL、Oracle、SQLite、PostgreSQL 和 SQL Server 等。
Navicat 提供商业版 Navicat Premium 和 免费的版本 Navicat Lite 。但目前 Navicat 已不再提供 LITE 版本。
缺点:
免费版本已停止更新。
3、
数据库管理工具 DBeaver
DBeaver 是一个通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。DBeaver 提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理BLOB/CLOB 数据,修改数据库结构等等。
4、
MySQL 数据库建模工具 MySQL Workbench
MySQL Workbench是数据库架构师和开发人员的可视化数据库设计、管理的工具,它是著名的数据库设计工具DBDesigner4的继任者。你可以用MySQL Workbench设计和创建新的数据库图示,建立数据库文档。它同时有开源和商业化的两个版本。可以在Windows,Linux和MAC OS X上使用。
它在2016年十月份成为一个稳定的工具。
缺点:
比 phpMyAdmin 更复杂。
5、
MAC上的MySQL管理工具 Sequel Pro
Sequel Pro 的原名是CocoaMySQL,是一个与phpMyAdmin相像的MySQL管理工具。它是由Cocoa和面对对象的C(Mac OSX)编写的。Sequel Pro允许你编辑数据库,表格(字段和索引)和列,执行个性化查找和导入导出数据。
缺点:
不适用于其他系统。
6、
web数据库管理工具 webcat
webcat是一个java版的web数据库管理工具,核心功能包括数据库的创建、编辑、sql分析、代码生成、数据备份等。 目前一期功能已开发完毕,所涉及到的功能我基本都已经测试通过,稳定版本为1.0.0.5。 接下来会继续完善一期功能,部分代码会重构,增加一些使用者提出的功能。 因此在此期间暂时关闭fork,待新版本开发完成并稳定之后再开放。代码会持续更新,敬请关注。 QQ群:341624652 有问题或者新需求请到QQ群反馈. 安装部署请参见下方。
7、
SQLite管理工具 SQLiteStudio
SQLiteStudio 是一个跨平台的
SQLite
数据库的管理工具,采用Tcl
语言开发。主要特性:
便携性 - 无需安装和卸载,下载解压即可使用
界面直观
功能强大,同时保持轻量级而且快速
通过简单的 GUI 封装了所有 SQLite3 及 SQLite2 的功能
支持跨平台 包括 Windows 9x/2k/XP/2003/Vista/7, Linux, MacOS X
支持导出各种格式数据 (SQL statements, CSV, HTML, XML, PDF, JSON),
支持导入各种格式数据(CSV, 自定义文本文件[正则表达式]),
额外的小功能,包括代码格式化,查询历史记录,语法检查等等
支持 Unicode ,
支持换肤
可配置的颜色、字体和快捷方式
开源且免费
GPLv3 license
.8、
Oracle 数据库开发工具 Oracle SQL Developer
Oracle SQL Developer 是一个
免费非开源
的用以开发数据库应用程序的图形化工具,使用 SQL Developer 可以浏览数据库对象、运行 SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执行和保存报表。该工具可以连接任何 Oracle 9.2.0.1 或者以上版本的 Oracle 数据库,支持 Windows、Linux 和 Mac OS X 系统。9、
数据库管理客户端 HeidiSQL
HeidiSQL 是一个功能非常强大的数据库客户端软件,采用 Delphi 开发,支持 Windows 操作系统。支持 MySQL、MariaDB、Percona Server 和微软的 SQL Server。
当然,优秀的数据库管理工具还有很多,欢迎在评论区补充,以供更多开发者学习和交流。
文章素材来源【开源中国社区】
只会增删查改?你还缺个数据库管理工具! - 编辑部的故事
- 相关评论
- 我要评论
-