当前位置: 首页 > news >正文

怎么自己在电脑上做网站win2008做的网站打不开

怎么自己在电脑上做网站,win2008做的网站打不开,厦门网站建设和人才库建设,淘宝网那样的网站模板Sqoop是SQL To Hadoop的简称,它是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Oracle、MySQL等)间进行数据的传递。通过使用Sqoop可以将一个关系型数据库中的数据导进到Hadoop的HDFS中&#xff0…

在这里插入图片描述

Sqoop是SQL To Hadoop的简称,它是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Oracle、MySQL等)间进行数据的传递。通过使用Sqoop可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop是基于MapReduce完成数据的交换,因此在使用Sqoop之前需要部署Hadoop环境;另一方面,由于Sqoop交换的是关系型数据库中的数据,因此底层需要JDBC驱动的支持。

Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

视频讲解如下

【赵渝强老师】大数据交换引擎Sqoop

一、 准备Sqoop环境

Apache Sqoop的安装部署比较简单,直接解压后就可以使用。由于Sqoop底层需要JDBC的支持。因此需要将对应关系型数据库的JDBC Driver复制到Sqoop的lib目录下。这里将在bigdata111的虚拟主机上来完成安装和部署,并采集之前部署好的MySQL数据库中的数据。下面通过具体的步骤来演示Sqoop的部署。

(1)将Sqoop的安装包解压到/root/training目录。

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ~/training/

(2)将Sqoop的目录进行重命名。

cd ~/training/
mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop/

(3)将MySQL的JDBC Driver复制到Sqoop的lib目录下。

cp mysql-connector-java-5.1.43-bin.jar ~/training/sqoop/lib/

(4)编辑文件/root/.bash_profile设置Sqoop相应的环境变量。

SQOOP_HOME=/root/training/sqoop
export SQOOP_HOMEPATH=$SQOOP_HOME/bin:$PATH
export PATH

(5)生效环境变量。

source /root/.bash_profile

(6)启动Hadoop环境。

start-all.sh

(7)登录MySQL数据库执行下面的脚本建立测试数据。

create database if not exists demo;
use demo;create table emp 
(empno int primary key,
ename varchar(10),
job varchar(10),
mgr int,
hiredate varchar(10),
sal int,
comm int,
deptno int);create table dept
(deptno int primary key,
dname varchar(10),
loc varchar(10)
);insert into emp values(7369,'SMITH','CLERK',7902,'1980/12/17',800,0,20);
insert into emp values(7499,'ALLEN','SALESMAN',7698,'1981/2/20',1600,300,30);
insert into emp values(7521,'WARD','SALESMAN',7698,'1981/2/22',1250,500,30);
insert into emp values(7566,'JONES','MANAGER',7839,'1981/4/2',2975,0,20);
insert into emp values(7654,'MARTIN','SALESMAN',7698,'1981/9/28',1250,1400,30);
insert into emp values(7698,'BLAKE','MANAGER',7839,'1981/5/1',2850,0,30);
insert into emp values(7782,'CLARK','MANAGER',7839,'1981/6/9',2450,0,10);
insert into emp values(7788,'SCOTT','ANALYST',7566,'1987/4/19',3000,0,20);
insert into emp values(7839,'KING','PRESIDENT',-1,'1981/11/17',5000,0,10);
insert into emp values(7844,'TURNER','SALESMAN',7698,'1981/9/8',1500,0,30);
insert into emp values(7876,'ADAMS','CLERK',7788,'1987/5/23',1100,0,20);
insert into emp values(7900,'JAMES','CLERK',7698,'1981/12/3',950,0,30);
insert into emp values(7902,'FORD','ANALYST',7566,'1981/12/3',3000,0,20);
insert into emp values(7934,'MILLER','CLERK',7782,'1982/1/23',1300,0,10);insert into dept values(10,'ACCOUNTING','NEW YORK');
insert into dept values(20,'RESEARCH','DALLAS');
insert into dept values(30,'SALES','CHICAGO');
insert into dept values(40,'OPERATIONS','BOSTON');

《从大数据到云原生系列课程》

二、 使用Sqoop完成数据交换

下面将通过具体的操作步骤来演示如何使用Sqoop完成与关系型数据库MySQL的数据交换。

(1)使用Sqoop执行一个简单的查询。这里将查询10号部门的员工姓名、职位、薪水和部门号,结果如下图所示。

sqoop eval --connect jdbc:mysql://localhost:3306/demo?useSSL=false \
--username root --password Welcome_1 --query \
"select ename,job,sal,deptno from emp where deptno=10"

在这里插入图片描述

(2)根据MySQL数据库中的表结构生成对应的Java Class。

sqoop codegen --connect jdbc:mysql://localhost:3306/demo \
--username root --password Welcome_1 --table emp# 输出的日志如下所示:
2021-04-22 14:34:42,491 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /root/training/hadoop-3.1.2
Note: /tmp/sqoop-root/compile/2abad54ace6665327b12e83a02b14a8f/emp.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2021-04-22 14:34:45,173 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/2abad54ace6665327b12e83a02b14a8f/emp.jar# 执行成功后,会自动将/tmp目录下生成的emp.java拷贝至当前目录,部分代码如下:
public class emp extends SqoopRecord  implements DBWritable, Writable {private final int PROTOCOL_VERSION = 3;public int getClassFormatVersion() { return PROTOCOL_VERSION; }public static interface FieldSetterCommand {void setField(Object value);  }  protected ResultSet __cur_result_set;private Map<String, FieldSetterCommand> setters = new HashMap<String, FieldSetterCommand>();private void init0() {setters.put("empno", new FieldSetterCommand() {@Overridepublic void setField(Object value) {emp.this.empno = (Integer)value;}});setters.put("ename", new FieldSetterCommand() {@Override# 这里可以看到emp类实现了Writable接口。按照开发MapReduce程序的要求,
# 该类可以作为MapReduce的Key或者Value。

(3)根据MySQL数据库中的表结构生成对应的Hive表结构。命令执行完成后,查看Hive中的表结构信息如下图所示。

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*sqoop create-hive-table --connect jdbc:mysql://localhost:3306/demo  \
--username root --password Welcome_1 --table emp --hive-table emphive

在这里插入图片描述

(4)将MySQL数据库中的emp表导入到HDFS。命令执行完成后,查看HDFS目录的内容,如下图所示。

sqoop import --connect jdbc:mysql://localhost:3306/demo  \
--username root --password Welcome_1 --table emp --target-dir /myempdata

在这里插入图片描述

(5)将HDFS的数据导出到MySQL数据库中。命令执行完成后,在MySQL中验证数据是否导入如下图所示。

# 先在MySQL中创建对应的表
create table mynewemp like emp;# 执行导入
sqoop export --connect jdbc:mysql://localhost:3306/demo  \
--username root --password Welcome_1 \
--table mynewemp --export-dir /myempdata

在这里插入图片描述

(6)将MySQL数据库中的所有表导入到HDFS。执行完成后默认将导入HDFS的/user/root目录,如下图所示。

sqoop import-all-tables --connect jdbc:mysql://localhost:3306/demo \
--username root --password Welcome_1

在这里插入图片描述

(7)列出MySQL的所有数据库。命令执行完成后,如下图所示。

sqoop list-databases --connect jdbc:mysql://localhost:3306/demo \
--username root --password Welcome_1

在这里插入图片描述

(8)列出MySQL数据库中所有的表,执行结果如下图所示。

sqoop list-tables --connect jdbc:mysql://localhost:3306/demo \
--username root --password Welcome_1

在这里插入图片描述

《从大数据到云原生系列课程》

(9)将MySQL表的数据导入HBase。

#进入HBase Shell创建表
create 'emp','empinfo'#执行导入
sqoop import --connect jdbc:mysql://localhost:3306/demo \
--username root --password Welcome_1 --table emp \
--columns empno,ename,sal,deptno \
--hbase-table emp --hbase-row-key empno --column-family empinfo# Sqoop导入数据到HBase时,HBase的版本不能太高,建议使用HBase 1.3.6。
http://www.dtcms.com/a/499632.html

相关文章:

  • 嘉兴外贸网站建网站备案号含义
  • 一个虚拟主机可以做几个网站个人网站备案填写要求
  • 通过ssh连接GitHub远程仓库
  • venv - python新手推荐的轻量化环境隔离方式
  • 网站核验单中国外包加工网
  • Ubuntu解决Github无法访问的问题
  • 关于 Qt5.11/12/15的QtCreator中对conncet宏SIGNAL不提示 的解决方法
  • C语言入门(十一)续:函数的深入认识
  • wordpress站点路径网上购物商城官网入口
  • 告别“手绘”图表:Illustrator与XD联动的数据可视化(Data Viz)工作流
  • m-card卡片组件
  • 企业内部网站建设方案怎样营销
  • 推荐一款开源的轻量级知识管理工具
  • GNU/Linux - GCC编译的静态库
  • 西安建网站哪家好企业网站蓝色模板下载
  • 成都模板建站代理网站优化要做哪些工作
  • Java MyBatis(一)--- 注解和XML的使用
  • 东莞官方网站 优帮云网站怎么做推广和优化
  • win64_11gR2_client.zip 怎么安装?Oracle 11g 客户端详细安装步骤
  • 建设向58同城的网站给客户做网站需要提供
  • flink sql 所有函数详细用例
  • Flink 1.20 flink-config.yml 配置详解
  • 湖州网站集约化平台南京做网站哪家公司好
  • 【深度学习新浪潮】2025全球机器学习技术大会:Agent技术突破与产业落地全景解析
  • 长沙整站优化梅河口信息网
  • Linux入门:动静态库的理解与加载
  • 云上救火指南:AWS常见服务告警的快速恢复与最小影响方案
  • 九号线香网站建设淘客网站后台怎么做
  • FPGA 入门 3 个月学习计划表
  • 专业的做网站网站做外链好嘛