Currently browsing

Page 3

ETL时遇到的坑之一

今天客户给的数据压缩包,先是在mac OSX上解压碰到乱码问题(已解决)(家中预览),然后发现一系列问题, 所有的数据开始都有等号(=) 部分数据结尾存在多余的逗号(,) 订单表字段不统一(部分文件缺少末尾字段,这也许是和上个问题有关系) 部分文件名命名错误,把订单明细命名成了订单 解决办法,使用sed批量去除头尾多余的字符(写了个简单的Windows批处理文件),并把订单和订单明细分到不同目录(原来有超过10个目录)

因为是csv,导入postgresql数据库,最早考虑的是copy命令,但尝试失败后(存在字段长度不统一的问题),决定使用R循环遍历文件来解决,先根据csv创建表(经过数据类型修改,否则存在类型不一致的报错)

数据导入完毕(忽略Order Detail的导入,这个比较顺利),接下来就是分析和建模了。

xlwings – 让Python带着你的Excel一起飞

xlwings 是一款基于BSD协议的开源Python包,它让Excel调用Python或者Python调用Excel变得非常简单: Scripting: 像VBA那样实现Python与Excel的自动或者交互功能 Macros: 用清晰强大Python代码来替代来VBA写的凌乱的宏 UDFs: 用Python编写用户定义函数 (UDFs) (仅支持Windows). 完全支持Numpy arrays 和 Pandas Series/DataFrames 支持Windows和mac OSX。 Python 2.7 and 3.3+测试通过 安装,3选1: …

Docker瘦身记

自从升级mac OSX 到Sierra, 免费版的Lantern就闪退,无法使用了,想尝试着在Docker里运行,于是在Github上闲逛,寻找合适的Lantern Docker, Lantern的Docker尝试了好几个,也自己动手制作了几个,但有一个共同的毛病,太大,我做的一个基于min-jessie版本的,也超过230M,今天碰巧发现了一个,竟然只有26.62M, Dockerfile内容非常简单,仅仅依赖busybox:glibc,

26.62M的Docker,解压缩后的lantern_linux_amd64自己占了17M,查了下,依赖库只有4个,这让我对这种Docker的生成方式产生了浓厚的兴趣,于是网上寻找Docker瘦身的方法,没有想到竟然找到了,Squashing Docker Images

    未完,待续!   references, Smaller Docker containers for Go …

如何解决mac OSX解压缩乱码的问题

  mac OSX自带的解压缩工具在解压缩某些中文路径的zip压缩包会出现乱码,尝试命令行下的zip和7zip,同样的问题,后来想到我下载过The Unarchiver, 但却重来没有使用过,试了下,问题解决。 P.S. The Unarchiver 是一款开源免费的Archive Utility.app替代品,它几乎支持你所能想到的格式, Format Support level Notes Zip Full Full support for the normal zip …

SAS不同版本数据库兼容问题

客户(使用SAS8.2)收到我提供的SAS数据库(SAS9.4),说无法打开,  

网上寻找答案,说可以指定逻辑库的版本号,比如SAS8.2支持V7,

使用v7生成的数据库,SAS8.2仍然不支持,我试着用SAS9.3来同样做了一遍,OK了。 备注:测试SAS8.2,SAS9.3和SAS9.4均只支持V6的读,不支持V6的写。      

java里调用r的方法汇总

R语言中调用(执行)R语言有以下几种方式, rJava:R-to-Java的接口 rserve:R语言服务器(Shiny依赖它来搭建Server端应用程序) JRI:Java/R 接口,目前属于rJava的一部分 Renjin:基于JVM的R语言解析器 references, R Tutorial: How to integrate R with Java using Rserve http://www.rforge.net/rJava/ http://www.rforge.net/JRI/ http://docs.renjin.org/en/latest/library/moving-data-between-java-and-r-code.html http://www.renjin.org/ http://www.studytrails.com/RJava-Eclipse-Plugin/Execute-R-From-Java.jsp

PostgreSQL与交叉表查询

PostgreSQL提供了一个tablefunc 模块,内置了多个函数,其中就有crosstab(交叉表,又叫行转列,或者长表转宽表),具体使用参见PostgreSQL文档(中文,英文)。 如果不清楚生成的宽表有多少列,或者列太多,手工敲很容易吃力不讨好,那么可以借助这个函数(pivotcode)来简化工作,

但这个函数,有如下的缺点, 如果返回的列有空格,需要自己手工修改 可能会有大量的Null值,而不是0 返回的是一个SQL,你需要copy出来后自己再执行(虽然也可以改进下,直接生成表) 下面这个plpython函数,pivotmytable,可以很好地解决上面的问题,python 2和python3(只需讲函数里的plpythonu替换为plpython3u即可)均支持,

 

在Docker里运行TensorFlow

体验TensorFlow,Docker是非常理想的方式,也非常简单(目前没有研究GPU支持的情况), 安装Docker 运行TensorFlow容器(可以使用Kitematic查找安装)

体验

如何在mac OSX下的Docker里运行Linux桌面程序

在Docker里运行Linux的GUI程序,有两种方案,一个是依赖X11 forwarding,一个是使用novnc,这里介绍的是第一种情况 安装 brew

安装 、运行socat

安装、运行,设置XQuartz 安装 Docker 拉取镜像

运行

  references, How to run a Linux GUI …

在Docker里运行Docker

自从把mac上的docker升级后,就无法访问Carina 了,总是报错,

这让我好是郁闷了一段时间,今天突发奇想,能不能在Docker里装个低版本的Docker呢?查找了下,发现原来官方已经帮做好了一个。 经过一番测试,成功运行了docker,

然后把需要把下载的证书和配置文件复制到Docker容器里

顺便说下,在Docker容器里运行

会报错如下,

解决办法,安装并运行bash,在bash下运行source docker.env

  P.S. Carina是Rackspace 发布的一款专注于容器技术的产品,是一种更易于使用的容器集群管理服务,关注于可迁移性,让客户可为容器化的应用创建和部署一个集群,而且所耗费的时间要比客户自行构建和部署快6.5倍。Carina包含了裸机性能以及内置的容器工具和编排,可以让容器集群更易于应用。 具体而言,Carina使用了内置的Docker API和工具,可以让应用轻松地从开发到测试到生产环境中,同时其裸机性能为开发者、数据科学家以及运营商提供了更易于迁移的容器环境。这种”零基础设施“的容器环境中,用户可以使用到OpenStack功能的基础架构,Rackspace专家负责管理基础架构,并为用户提供Docker环境。–TechTarget云计算