XGBRegressor保存到本地文件并调用

2018年9月2日 没有评论

问题:
我在python中train了一个XGBRegressor,怎么把它保存为本地文件,并且再调用呢?

答:
#训练
model = XGBRegressor()
model.fit(X, y)

#保存
from sklearn.externals import joblib
joblib.dump(model, ‘my_xgbregressor.pkl’)

#读取
model = joblib.load(‘my_xgbregressor.pkl’)

分类: 数据科学 标签: , ,

利用sqoop从pg数据库导数据到hbase

2018年7月13日 没有评论

1 环境
源端:postgresql 9.6.6
目标端: CDH 5.14.2 内置的hbase

2 sqoop-list-tables 报 “Could not load db driver class: org.postgresql.Driver”
从报错上看是缺少jdbc的jar包,在os上做了一下find发现CDH已经内置了,配到环境变量上就可以了。
环境变量添加类似这样一条:

export HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/jars/postgresql-9.1-901.jdbc4.jar:$HADOOP_CLASSPATH

测试:

 ./sqoop-list-tables --connect jdbc:postgresql://10.10.20.2:5432/qiuyb --username postgres -P
Warning: /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/bin/../lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
18/07/13 17:35:53 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.14.2
Enter password: 
18/07/13 17:35:56 INFO manager.SqlManager: Using default fetchSize of 1000
t1

qiuyb库下只有一张表名字为:t1

3 开通网络权限的时侯需要把hadoop整个集群连接pg都要开通,因为sqoop实际要做MR

4 数据从pg到hbase导入操作
1) sqoop import时在hbase中新建表,并插入数据

sqoop import -D sqoop.hbase.add.row.key=true --connect  jdbc:postgresql://10.10.20.2:5432/base --username postgres --password xxxxxx --table tt --columns id --hbase-create-table --hbase-table tt --column-family cf --hbase-row-key id 

2)带条件的插入新数据

sqoop import -D sqoop.hbase.add.row.key=true --connect  jdbc:postgresql://10.10.20.2:5432/base --username postgres --password xxxxxx --table tt --columns id  --hbase-table tt --column-family cf --hbase-row-key id --where "id > 1"
分类: Hadoop 标签: , ,

pgpool配合流复制的主备模式1主2从

2018年1月23日 没有评论

1 环境
1)主机名:pgpoola ip:10.10.20.10 角色:pgpool主机
2)主机名:pgaa1 ip:10.10.20.1 角色:pg库主结点
3)主机名:pgaa2 ip:10.10.20.2 角色:pg库从1结点
4)主机名:pgaa3 ip:10.10.20.3 角色:pg库从2结点

pgaa1/2/3是使用pg的hot_standy建的1主2从的流复制集群,集群已经建立
阅读全文…

分类: Postgresql 标签: , , ,

linux 源码安装postgis 2.3.5

2018年1月7日 没有评论

1 postgis简介
百度百科这样说:
PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。
PostGIS的版权被纳入到GNU的GPL中,也就是说任何人可以自由得到PostGIS的源码并对其做研究和改进。正是由于这一点,PostGIS得到了迅速的发展,越来越多的爱好者和研究机构参与到PostGIS的应用开发和完善当中。
阅读全文…

分类: Postgresql 标签: , , ,

PostgrelSql 9.6 hot standby 一主二从配置

2017年11月21日 没有评论

今年双十一,我知与行了一次,买了几台阿里云ECS服务器,有了独立的外网IP,开启了我的折腾生活
1 前言
postgres在9.0之后引入了主从的流复制机制,这点功能很像oracle的adg。在做本项实践之前,研究了好些pg的集群方案,这包括pgbouncer,bucardo,pl/proxy,pgpool,postgres-xl,总有这样那样不如意的地方,我个人更喜欢pg原生的方案。
阅读全文…

oracle lob坏块处理

2017年11月21日 没有评论

报这些错,例如1555并不是因为回滚段空间不够,原因在于LOB段的损坏,解决如下:

1 标识出哪一行的lob有坏
a、建个临时表

SQL> create table corrupt_lobs (corrupt_rowid rowid, err_num number);

阅读全文…

分类: Oracle 标签: , ,

PostgreSQL使用源码安装配置

2017年11月21日 没有评论

PostgreSQL使用源码安装配置

1 我的环境

[root@pgaa1 etc]# cat redhat-release
CentOS Linux release 7.4.1708 (Core)

服务器的环境最好能上网,不然不能用yum会是一个很抓狂的事。
阅读全文…

分类: Postgresql 标签: , ,

Redis集群学习

2017年9月22日 没有评论

Redis集群学习

1 安装
参照:http://www.cnblogs.com/wuxl360/p/5920330.html
补充如下几点:
1)gem install redis 这一步会报错,因为你懂的原因,可以选择离线安装

wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem
gem install -l ./redis-3.2.1.gem

2)可以把一个结点做好,然后做成模板,再用模板部署,这样容易的多 阅读全文…

分类: Nosql DB 标签:

知乎45个神回复

2017年9月12日 没有评论

01交朋友的标准是什么?
– Question –
出世的智者,
入世的强者,
或者正常而阳光的普通人。
– Answer –
阅读全文…

分类: 生活杂拌 标签: ,

hadoop日常维护汇总

2017年7月26日 没有评论

1 清空回收站
默认情形下被删除数据会在24小时内系统自动清除,手动清除如下:

hdfs dfs -expunge --做检查点
hdfs dfs -rm -r /user/root/.Trash/201707261056 --把检查点后归集的目录删除

2 杀会话

./yarn application -kill application_1416899352676_0008

3 hive解锁

hive (dw_ods)> show locks community_new extended;
unlock table community_new;

4 利用SecondaryNameNode恢复NameNode
1)确保新的NameNode${dfs.name.dir}目录存在,并移除其内容
2)把SecondNameNode节点中fs.checkpoint.dir的所有内容复制到新的NameNode节点的
fs.checkpoint.dir的所有内容复制到新的NameNode节点的
{fs.checkpoint.dir}目录中。
3)在新NameNode上执行命令:
hadoop namenode -importCheckpoint
该步会从fs.checkpoint.dir中恢复
fs.checkpoint.dir中恢复
{dfs.name.dir},并启动NameNode
4)检查文件块完整性,执行命令:hadoop fsck /
5)停止NameNode
6)删除新NameNode ${fs.checkpoint.dir}目录下的文件
7)正式启动NameNode,恢复工作完成

5 hdfs坏块修复
1)列出坏块文件

hdfs fsck -list-corruptfileblocks

2)修复方法
方案一:hadoop会在6个小时候自动检测并修复

dfs.datanode.directoryscan.interval : 21600

方案二:手工重启hdfs服务后会自动修复
方案三:手工修复(推荐使用)

hdfs debug  recoverLease  -path /user/hive/warehouse/sdata.db/s002_lm_pm_shd/dt=20191019/000106_0.snappy -retries 10

若文件不重要

# 退出安全模式
hdfs dfsadmin -safemode leave
#删除损坏(丢失)的BLOCK
hdfs fsck  /path  -delete
分类: Hadoop 标签: ,