黑猴子的家 Sqoop RDBMS到HDFS

2021-08-30 08:51:42 字數 2917 閱讀 1508

1、確定mysql服務開啟正常

[victor@node1 ~]$ service mysql status

redirecting to /bin/systemctl status mysql.service

● mysqld.service - mysql community server

loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

active: active (running) since tue 201*-03-27 12:00:00 cst; 21s ago

process: 2386 execstartpost=/usr/bin/mysql-systemd-start post (code=exited, status=0/success)

process: 981 execstartpre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/success)

main pid: 2385 (mysqld_safe)

cgroup: /system.slice/mysqld.service

├─2385 /bin/sh /usr/bin/mysqld_safe --basedir=/usr

└─2578 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin

--log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/va.

2、在mysql中新建一張表並插入一些資料

[victor@node1 ~]$ mysql -uroot –p000000

mysql> create database company;

mysql> use company;

mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255),

*** varchar(255));

mysql> insert into company.staff(name, ***) values('thomas', 'male');

mysql> insert into company.staff(name, ***) values('catalina', 'female');

3、全部匯入

[victor@node1 sqoop-1.4.7]$ bin/sqoop import \

--connect jdbc:mysql://node1:3306/company?characterencoding=utf-8 \

--username root \

--password 000000 \ ## -p 大寫p 是用暗文密碼

--table staff \

--target-dir /user/company \ ##/user/company 目錄不能存在,會自動建立

--delete-target-dir \ ##執行之前,先刪除這個/user/company目錄

--fields-terminated-by "\t" ##每個欄位用什麼分割,mysql預設是用逗號分割

#csv檔案是用逗號分割的檔案

#tsv是用製表符tab分割的檔案

4、查詢匯入

[victor@node1 sqoop-1.4.7]$ bin/sqoop import \

--connect jdbc:mysql://node1:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--query 'select name,*** from staff where id <=1 and $conditions;'

5、匯入指定列

[victor@node1 sqoop-1.4.7]$ bin/sqoop import \

--connect jdbc:mysql://node1:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--columns id,*** \

--table staff

6、使用sqoop關鍵字篩選查詢匯入資料

[victor@node1 sqoop-1.4.7]$ bin/sqoop import \

--connect jdbc:mysql://node1:3306/company \

--username root \

--password 000000 \

--target-dir /user/company \

--delete-target-dir \

--fields-terminated-by "\t" \

--table staff \

--where "id=1"

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...

黑猴子的家 Zookeeper Java API

1 code github 2 環境準備 1 建立乙個工程 2 解壓zookeeper 3.4.10.tar.gz檔案 3 拷貝zookeeper 3.4.10.jar jline 0.9.94.jar log4j 1.2.16.jar netty 3.10.5.final.jar slf4j ap...