Ching-Chuan Chen's Blogger

Statistics, Machine Learning and Programming

0%

昨天後來再google發現opencpu這個更強大的套件

昨天太累就沒試了XD

我把前幾天弄得unnest函數在配上opencpu

就可以輕鬆做到unnested json的轉換了

Read more »

R也可以開啟一個簡單的server

讓使用者透過PUT或是GET去query想要的資訊

以下是實作

使用RStudio的httpuv這個套件來做

Read more »

我們今天可能會遇到json parse出來的資料長下面這樣

1
2
3
4
5
6
7
library(data.table)
DT <- data.table(a = list(c(1:5), c(2:4), c(1:5)), b = 1:3,
c = list(c(0:4), c(6:8), c(7:11)), d = 2:4)
# a b c d
# 1: 1,2,3,4,5 1 0,1,2,3,4 2
# 2: 2,3,4 2 6,7,8 3
# 3: 1,2,3,4,5 3 7, 8, 9,10,11 4

那在這種情況下,可以直接選擇用tidyrunnest去做,如下面所示

Read more »

廢話不多說,直接上code

1
2
3
4
5
6
7
8
library(pipeR)
library_mul <- function(..., lib.loc = NULL, quietly = FALSE, warn.conflicts = TRUE){
pkgs <- as.list(substitute(list(...))) %>>% sapply(as.character) %>>% setdiff("list")
if (any(!pkgs %in% installed.packages()))
install.packeges(pkgs[!pkgs %in% installed.packages()])
sapply(pkgs, library, character.only = TRUE, lib.loc = lib.loc, quietly = quietly) %>>% invisible
}
library_mul(httr, pipeR, data.table)

Hive支援ACID,可以讓資料庫做transactions

其具備以下四種性質

  1. 原子性(atomicity):做就要做完,不做就全部都不做,不會做一半
  2. 一致性(consistency):資料庫的資訊是完整的
  3. 隔離性(isolation):可以同時讀寫多個transactions,讓讀寫不會互相影響
  4. 持久性(durability):資料的修改是永久的,不會丟失

那麼Hive支援這個有什麼好處?讓Hive能夠如同RMDB去做資料的UPDATE, DELETE

Read more »

這篇主要是用Spark去連接現存的Hive

可能有人會先好奇說為什麼不用Spark本身的Thrift Server

我稍微看了一下,Spark的Thrift Server只能跑Local

也就是說你的資料只能在一台電腦上跑,因此,這樣是有風險的

Read more »