Month: August 2016

PostgreSQL 获得星期的名字

下面命令得到的是一个星期的第几天,the day of week(0~6, 0是Sunday) select extract(dow from now()); 如果想转成Monday或者Mon怎么办呢?下面这个从网上找来的函数就是来做这个转换的, CREATE OR REPLACE FUNCTION dayOfWeek (date Date) RETURNS Character Varying(15) AS $$ DECLARE DAY_OF_WEEK_CONST Character Varying(15) := 'dow'; dayOfWeek Integer…

Read More

如何查找PostgreSQL库所有表的行数

今天使用R批量导入Excel数据到PostgreSQL,总共25个excel,导完后被告知有2个excel是一模一样的,但我导入的时候没有记录表名和excel名直接的关系,如何查找是哪两个表重复了呢? 网上找到一段代码,可以获得指定库下所有表的行数, SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables ORDER BY n_live_tup DESC; 结合我的表的前缀raw_2014_,轻松寻找到了2个行数一样的表, How do you find the row count for all your tables in Postgres SELECT schemaname,relname,n_live_tup FROM pg_stat_user_tables where relname…

Read More

在R中使用代理

这里不介绍如何获得代理服务器,这里只说下如何在R下翻墙, 设置Proxy Sys.setenv(http_proxy=”http://username:password@proxy_server:port″) 查看 Proxy Sys.getenv("http_proxy") 测试 url.exists("http://www.gogle.com") #或者看看你的IP对不对 readLines('http://api.ipify.org') 试试把internet.info设为0或者1会有怎么样的输出,如果是2呢? options(internet.info = 0) 试试quantmod library("quantmod") aapl_f<-getFinancials("AAPL",src="google",verbose=TRUE) head(AAPL.f) 取消 Proxy Sys.unsetenv(“http_proxy”)

Read More

Apache Zeppelin-多语言多用途Notebook

Apache Zeppelin,A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more. 一个网页版本的notebook,支持交互式数据分析。 使用它,你可以用SQL,Scala等方便地创建漂亮的数据驱动,交互式和协同合作的文档。   Multi-purpose Notebook(多用途Notebook) Data Ingestion(数据集成)…

Read More

SparkR连接PostgreSQL数据库

成功安装了SparkR后,让我们来尝试下如何从PostgreSQL读取数据, Sys.setenv(SPARK_HOME="/Users/steven/Applications/spark2") .libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) library(SparkR) d.pg="org.postgresql:postgresql:9.4.1209.jre7" sc <- sparkR.session(master="local",sparkPackages=c(d.pg)) url<-"jdbc:postgresql://localhost:5432/steven?user=postgres&password=" driver<-"org.postgresql.Driver" df.pg <- read.jdbc(source="jdbc", url=url, tableName ="public.mtcars",driver=driver) printSchema(df.pg) collect(df.pg) #createOrReplaceTempView(df.pg,"mtcars") #sql("select * from mtcars") sparkR.session.stop() 从代码可以看到,主要指定sparkPackages和read.jdbc命令,这段命令只要稍做修改,同样适用MySQL等支持JDBC连接的数据库。

Read More

最简便的SparkR安装方法

下载安装最新版本的R 下载安装Spark(这个你可以选择1.6.2或者2.0.0版本) 选装RStudio 在R下告诉Spark的路径 Sys.setenv(SPARK_HOME="/Users/steven/Applications/spark2") .libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths())) library(SparkR) 体验起来吧(以Spark 2.0.0为例) sc <- sparkR.session(master="local") df <- createDataFrame(iris) #R data.frame to Spark DataFrame createOrReplaceTempView(df,"iris") #注册成临时表(视图) x<-sql("select * from iris")#体验下Spark SQL…

Read More

如何快速获得一个文件的类型和所使用的编码信息

前文iconv批量转换字符集编码的利器, 说到通过UltraEdit来得知CSV的编码是Unicode(对于小文件,Notepad也可以代劳),那么有什么更简便的办法获得文件的编码,甚至文件类型(Mime-type)呢? Linux下有个非常实用的file command, 现在我把它移植到Windows中来了。 下载地址:file-win32-5.28.zip 官网及源码下载:Fine Free File Command 使用方法非常简单,这里举例如下, file test_utf16le.txt test_utf16le.txt: Little-endian UTF-16 Unicode text, with no line terminators file --mime-encoding test_utf16le.txt test_utf16le.txt: utf-16le   file file.exe…

Read More

iconv批量转换字符集编码的利器

前些天,一个客户提供了一个CSV文件,说导入MySQL失败,文件在2G左右,后来测试知道是Unicode(UTF-16LE)格式的缘故,用UltraEdit打开另存为UTF8格式,再次导入成功。不过对于这样大的文件,Ultraedit打开就颇为吃力了,如果文件再大的话就更困难了,于是想到可以使用另外一个利器来做字符集编码的转换,iconv。 网上有很多windows的编译版本,我这里提供的是利用mxe编译的静态win32版本, 下载地址:iconv-1.14-win32 iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。支持的内码包括: Unicode相关编码,如UTF-8、UTF-16等等 各国采用的ANSI编码,其中包括GB2312、BIG5等中文编码方式。 作为应用程序的iconv采用命令行界面,允许将某种特定编码的文件转换为另一种编码。 用法, Usage: iconv.exe or: iconv.exe -l Converts text from one encoding to another encoding. Options controlling the input and output format: -f ENCODING,…

Read More

DBeaver连接MS SQL Server MDF 数据库

依赖LocalDB,用R读取MS SQLServer 的MDF文件碰到了一个问题,有些字段类型被改变了,如果要保持字段类型,得事先知道每个字段的类型,并确定是否转换(as.is),今天尝试使用MS SQL Server Express和DBeaver来管理数据库。 安装并配置SSCM(SQL Server Configuration Manager), DBeaver上配置MS SQL Server连接, Attach 数据库, CREATE DATABASE enjoy ON (FILENAME = 'E:\tmp\enjoy_interface.mdf'), (FILENAME = 'E:\tmp\enjoy_interface.ldf') FOR ATTACH; Detach 数据库, EXEC…

Read More