./sqoop help
codegen Generate code to interact with database records
create-hive-table Import a table definition into Hive
eval Evaluate a SQL statement and display the results
export Export an HDFS directory to a database table
help List available commands
import Import a table from a database to HDFS
import-all-tables Import tables from a database to HDFS
import-mainframe Import datasets from a mainframe server to HDFS
job Work with saved jobs
list-databases能够访问的数据库 List available databases on a server
list-tables List available tables in a database
merge Merge results of incremental imports
metastore Run a standalone Sqoop metastore
version Display version information
./sqoop list-databases
–connect jdbc:mysql://localhost:3306
–username root
–password root \
查看具体命令帮助
必须安装MySQL安装
Common arguments:
–connect Specify JDBC connect
string
–connection-manager Specify connection manager
class name
–connection-param-file Specify connection
parameters file
–driver Manually specify JDBC
driver class to use
–hadoop-home Override
$HADOOP_MAPRED_HOME_ARG
–hadoop-mapred-home
$HADOOP_MAPRED_HOME_ARG
–help Print usage instructions
-P Read password from console
–password Set authentication
password
–password-alias Credential provider
password alias
–password-file Set authentication
password file path
–relaxed-isolation Use read-uncommitted
isolation for imports
–skip-dist-cache Skip copying jars to
distributed cache
–username Set authentication
username
–verbose Print more information
while working
少不少并没有关系,如果报错少了就添加就可以了
这么好的帮助提醒不要去找中文,英文提醒就可以了
用命令做简单的入门
MySQL ==》HDFS
Oracle驱动是一致的
模糊匹配的删除,
hadoop fs -rmr check* 匹配操作
./sqoop help import 这个帮助很重要
hadoop fs -ls
hadoop fs -ls /user/hadoop
4个maptask写出的数据
使用的mapreduce处理的方式
直接配置的mapreduce压缩的bzip2压缩
一个task 一个maptask处理方式
生产上能够忍受几个文件跑出来的时间,就用几个
文件不要太大,一个是maptask 一个是处理数据的方式
两个task applicationmaster 一个是map 启动的task 2个的原因
是不可能动态设置的
数据只导入几列
导入的列数据内容
注意导入加上引号,如果不加上引号会出现问题的
指定分割符
–fields-terminated-by sets the field separator character
指定分割符
需要带 ‘0’分割比较明显
一定要注意脚本的东西要注意细节
换成0 统计起来更加的方便了
查字典都能够查出来 通过帮助可以将数据导入
有分割符,有替换成什么格式,可以建立数仓,通过这个数据仓库
可以解决很多问题 制表符 使用的比较广泛 \t
在工作中很有可能是多表进行导入的
join后的结果导入到hdfs中
import result of SQL‘statement’
Cannot specify --query and --table together
如果使用apache社区的内容就充满了大量的jar包冲突
工作当中选择一些商业的cdh
不要在意细节的地方cdh “” 与 ‘’处理方式是不一样的
空格 脚本无法运行
表格是没有主键的如何导入
必须指定主键
emp 多map操作默认是按主键拆分的
Split size:141; Num splits:4 from 7369 to:7934
日志是非常重要的,深入过程,深入流程
一定要仔细看 日志,看日志才能获取数据
please specify one with --split-by or perform a sequential import-all-tables
with ‘-m 1’
默认一个map 根本就不拆分数据
写一个文本 进行数据的导入
处理的方式使用最新的数据处理方式内容
这种方式的处理方式就是这样的
select t.* from ‘emp_d5’ as table limit 1 工业化处理方案
先进行数据的处理,将方式进行细节的查看
首先要目标表要存在,才能够导出
只创建表结构,实际上就是不写入数据即可
create table emp_d5 as select * from emp where 1=2;
注意类型取兼容类型,一般问题不大
导出指定的字段
起字段的时候都是后面要用的,因此要起名起的有意义
掌握导入数据的核心单词很重要
指定默认分割符
一定要注意分割符
RDBMS==>Hive
启动hive 建立数仓,将所有的数据全部导入一个仓库
然后大家共同查询,包含所有的数据库信息
可以利用这些信息做大量的报表,
将数据都保存的这个报表即可
使用hive将公司的数据都保存起来
各种数据的导入,各个模块系统的数据
都导入数据库即可,将数据进行系统性的分析
可以通过这些数据让用户可以随意使用数据
export HIVE_CONF_DIR=/home/hadoop/app/hive-1.1.0-cdh5.7.0/conf
就是做的load操作
注意在工作中需要先创建hive表,
必须先创建的,如果创建成功才能够导入的
需要想到别的解决方案,不能够出现问题,不以解决问题为核心
有可能是不认压缩的数据bzip2
数据导入hive可以将数据进行处理,进行分析处理,内容的处理
一般情况下一定要创建表的,否则会错的很离谱
创建分区表,查询速度快
分区表一定要指定分区字段
没有手动刷新的过程,及内容的处理方式