手机网站 设计图二手房交易网站排行

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

手机网站 设计图,二手房交易网站排行,怎样看网站有没有做301,给实体店老板做的网站Kettle的安装及简单使用一、kettle概述二、kettle安装部署和使用Windows下安装案例1#xff1a;MySQL to MySQL案例2#xff1a;使用作业执行上述转换#xff0c;并且额外在表stu2中添加一条数据案例3#xff1a;将hive表的数据输出到hdfs案例4#xff1a;读取hdfs文件并将…Kettle的安装及简单使用一、kettle概述二、kettle安装部署和使用Windows下安装案例1MySQL to MySQL案例2使用作业执行上述转换并且额外在表stu2中添加一条数据案例3将hive表的数据输出到hdfs案例4读取hdfs文件并将sal大于1000的数据保存到hbase中三、创建资源库1、数据库资源库2、文件资源库四、 Linux下安装使用1、单机2、 集群模式案例读取hive中的emp表根据id进行排序并将结果输出到hdfs上五、调优 一、kettle概述 1、什么是kettle Kettle是一款开源的ETL工具纯java编写可以在Window、Linux、Unix上运行绿色无需安装数据抽取高效稳定。 2、Kettle工程存储方式 1以XML形式存储 2以资源库方式存储(数据库资源库和文件资源库) 3、Kettle的两种设计 4、Kettle的组成 5、kettle特点 二、kettle安装部署和使用 Windows下安装 1概述 在实际企业开发中都是在本地环境下进行kettle的job和Transformation开发的可以在本地运行也可以连接远程机器运行 2安装步骤 1、安装jdk ​ 2、下载kettle压缩包因kettle为绿色软件解压缩到任意本地路径即可 ​ 3、双击Spoon.bat启动图形化界面工具就可以直接使用了 案例1MySQL to MySQL 把stu1的数据按id同步到stu2stu2有相同id则更新数据 1、在mysql中创建testkettle数据库并创建两张表 create database testkettle; ​ use testkettle; ​ create table stu1(id int,name varchar(20),age int); ​ create table stu2(id int,name varchar(20)); 2、往两张表中插入一些数据 insert into stu1 values(1001,zhangsan,20),(1002,lisi,18), (1003,wangwu,23); ​ insert into stu2 values(1001,wukong); 3、把pdi-ce-8.2.0.0-342.zip文件拷贝到win环境中指定文件目录解压后双击Spoon.bat启动图形化界面工具就可以使用了 主界面 在kettle中新建转换—输入—表输入–表输入双击 在data-integration\lib文件下添加mysql驱动 在数据库连接栏目点击新建填入mysql相关配置并测试连接 建立连接后选择刚刚建好的连接填入SQL并预览数据 以上说明stu1的数据输入ok的现在我们需要把输入stu1的数据同步到stu2输出的数据 注意拖出来的线条必须是深灰色才关联成功若是浅灰色表示关联失败 转换之前需要做保存 执行成功之后可以在mysql查看stu2的数据

mysql select * from stu2;

| id   | name     |

| 1001 | zhangsan | | 1002 | lisi     |

| 1003 | wangwu   |

3 rows in set (0.00 sec) 案例2使用作业执行上述转换并且额外在表stu2中添加一条数据 1、新建一个作业 2、按图示拉取组件 3、双击Start编辑Start 4、双击转换选择案例1保存的文件 5、在mysql的stu1中插入一条数据并将stu2中id1001的name改为wukong mysql insert into stu1 values(1004,stu1,22); Query OK, 1 row affected (0.01 sec) ​ mysql update stu2 set name wukong where id 1001; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 ​ 6、双击SQL脚本编辑 7、加上Dummy如图所示 8、保存并执行 9、在mysql数据库查看stu2表的数据

mysql select * from stu2;

| id   | name     |

| 1001 | zhangsan | | 1002 | lisi     | | 1003 | wangwu   | | 1004 | stu1     |

| 1005 | kettle   |

5 rows in set (0.00 sec) 案例3将hive表的数据输出到hdfs 1、因为涉及到hive和hbase后续案例的读写需要修改相关配置文件 修改解压目录下的data-integration\plugins\pentaho-big-data-plugin下的plugin.properties设置active.hadoop.configurationhdp26并将如下配置文件拷贝到data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26下 2、启动hadoop集群、hiveserver2服务 3、进入hive shell创建kettle数据库并创建dept、emp表 create database kettle; ​ use kettle; ​ CREATE TABLE dept(deptno int,dname string,loc string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t; ​ CREATE TABLE emp(empno int,ename string,job string,mgr int,hiredate string,sal double,comm int,deptno int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t; 4、插入数据 insert into dept values(10,accounting,NEW YORK),(20,RESEARCH,DALLAS),(30,SALES,CHICAGO),(40,OPERATIONS,BOSTON); ​ insert into emp values(7369,SMITH,CLERK,7902,1980-12-17,800,NULL,20),(7499,ALLEN,SALESMAN,7698,1980-12-17,1600,300,30),(7521,WARD,SALESMAN,7698,1980-12-17,1250,500,30),(7566,JONES,MANAGER,7839,1980-12-17,2975,NULL,20); 5、按下图建立流程图 表输入 表输入2 排序记录 记录集连接 字段选择 文本文件输出 6、保存并运行查看hdfs 运行 查看HDFS文件 案例4读取hdfs文件并将sal大于1000的数据保存到hbase中 1、在HBase中创建一张people表 hbase(main):004:0 create people,info 2、按下图建立流程图 文本文件输入 设置过滤记录 设置HBase output 编辑hadoop连接并配置zookeeper地址 执行转换 查看hbase people表的数据 scan people 注意若报错没有权限往hdfs写文件在Spoon.bat中第119行添加参数 -DHADOOP_USER_NAMEroot -Dfile.encodingUTF-8 三、创建资源库 1、数据库资源库 数据库资源库是将作业和转换相关的信息存储在数据库中执行的时候直接去数据库读取信息方便跨平台使用 在MySQL中创建kettle数据库 mysql create database kettle; Query OK, 1 row affected (0.01 sec) 点击右上角connect选择Other Resporitory 选择Database Repository 建立新连接 填好之后点击finish会在指定的库中创建很多表至此数据库资源库创建完成 连接资源库 默认账号密码为admin 将之前做过的转换导入资源库 选择从xml文件导入 点击保存选择存储位置及文件名 查看MySQL中kettle库中的R_TRANSFORMATION表观察转换是否保存 2、文件资源库 将作业和转换相关的信息存储在指定的目录中其实和XML的方式一样 创建方式跟创建数据库资源库步骤类似只是不需要用户密码就可以访问跨 平台使用比较麻烦 选择connect 点击add后点击Other Repositories 选择File Repository 填写信息 四、 Linux下安装使用 1、单机 jdk安装 安装包上传到服务器并解压 注意 把mysql驱动拷贝到lib目录下 将windows本地用户家目录下的隐藏目录C:\Users\自己用户名.kettle 目录 整个上传到linux的用户的家目录下root用户的家目录为/root/ 运行数据库资源库中的转换 cd /usr/local/soft/data-integration ./pan.sh -repmy_repo -useradmin -passadmin -transtrans1 参数说明 -rep 资源库名称 -user 资源库用户名 -pass 资源库密码 -trans 要启动的转换名称 -dir 目录(不要忘了前缀 /)如果是以ktr文件运行时需要指定ktr文件的路径 运行资源库里的作业 记得把作业里的转换变成资源库中的资源 记得把作业也变成资源库中的资源 cd /usr/local/soft/data-integration mkdir logs ./kitchen.sh -repmy_repo -useradmin -passadmin -jobjob1 -logfile./logs/log.txt 参数说明 -rep - 资源库名 -user - 资源库用户名 -pass – 资源库密码 -job – job名 -dir – job路径当直接运行kjb文件的时候需要指定 -logfile – 日志目录
2、 集群模式 准备三台服务器 master作为Kettle主服务器服务器端口号为8080 node1和node2作为两个子服务器端口号分别为8081和8082。 安装部署jdk hadoop完全分布式环境搭建 上传并解压kettle的安装包至/usr/local/soft/目录下 进到/usr/local/soft/data-integration/pwd目录修改配置文件 修改主服务器配置文件carte-config-master-8080.xml slaveservernamemaster/namehostnamemaster/hostnameport8080/portmasterY/masterusernamecluster/usernamepasswordcluster/password /slaveserver 修改从服务器配置文件carte-config-8081.xml mastersslaveservernamemaster/namehostnamemaster/hostnameport8080/portusernamecluster/usernamepasswordcluster/passwordmasterY/master/slaveserver /masters report_to_mastersY/report_to_masters slaveservernameslave1/namehostnamenode1/hostnameport8081/portusernamecluster/usernamepasswordcluster/passwordmasterN/master /slaveserver 修改从配置文件carte-config-8082.xml mastersslaveservernamemaster/namehostnamemaster/hostnameport8080/portusernamecluster/usernamepasswordcluster/passwordmasterY/master/slaveserver /masters report_to_mastersY/report_to_masters slaveservernameslave2/namehostnamenode2/hostnameport8082/portusernamecluster/usernamepasswordcluster/passwordmasterN/master /slaveserver 分发整个kettle的安装目录通过scp命令 分发/root/.kettle目录到node1、node2 启动相关进程在master,node1,node2上分别执行
[rootmaster]# ./carte.sh master 8080 [rootnode1]# ./carte.sh node1 8081 [rootnode2]# ./carte.sh node2 8082 访问web页面
http://master:8080 案例读取hive中的emp表根据id进行排序并将结果输出到hdfs上 注意因为涉及到hive和hbase的读写需要修改相关配置文件。 修改解压目录下的data-integration\plugins\pentaho-big-data-plugin下的plugin.properties设置active.hadoop.configurationhdp26并将如下配置文件拷贝到data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26下 创建转换编辑步骤填好相关配置 直接使用trans1 创建子服务器填写相关配置跟集群上的配置相同 创建集群schema选中上一步的几个服务器 对于要在集群上执行的步骤右键选择集群选中上一步创建的集群schema 创建Run Configuration,选择集群模式 直接运行选择集群模式运行 五、调优 1、调整JVM大小进行性能优化修改Kettle根目录下的Spoon脚本。 参数参考 -Xmx2048m设置JVM最大可用内存为2048M。 -Xms1024m设置JVM促使内存为1024m。此值可以设置与-Xmx相同以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g设置年轻代大小为2G。整个JVM内存大小年轻代大小 年老代大小 持久代大小。持久代一般固定大小为64m所以增大年轻代后将会减小年老代大小。此值对系统性能影响较大Sun官方推荐配置为整个堆的3/8。 -Xss128k设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的不能无限生成经验值在3000~5000左右。 2、 调整提交Commit记录数大小进行优化Kettle默认Commit数量为1000可以根据数据量大小来设置Commitsize1000~50000 3、尽量使用数据库连接池 4、尽量提高批处理的commit size 5、尽量使用缓存缓存尽量大一些主要是文本文件和数据流 6、Kettle是Java做的尽量用大一点的内存参数启动Kettle 7、可以使用sql来做的一些操作尽量用sql Group , merge , stream lookup,split field这些操作都是比较慢的想办法避免他们.能用sql就用sql 8、插入大量数据的时候尽量把索引删掉 9、尽量避免使用update , delete操作尤其是update,如果可以把update变成先delete, 后insert 10、能使用truncate table的时候就不要使用deleteall row这种类似sql合理的分区如果删除操作是基于某一个分区的就不要使用delete row这种方式不管是deletesql还是delete步骤,直接把分区drop掉再重新创建 11、尽量缩小输入的数据集的大小增量更新也是为了这个目的 12、尽量使用数据库原生的方式装载文本文件(Oracle的sqlloader, mysql的bulk loader步骤)。