前言
使用GCP的datalab,把资料放在bigtable中调用,必须先把资料上传到云端硬碟,再使用bigtable汇入。
datalab中使用bigquery
- 查看有哪些表
%bq tables list - 显示表部分内容
%bq tables view -n (table) - 合并两张表
%bq query -n -Concat
下面接要加入的表与插入的表,及所要栏位
INSERT
FROM
可以用%bq dryrun -q Concat
先看要用多少资源后,再execute - 删除表
import google.daatalab.bigquery as bq
usr = bq.Table(要删掉的表).delete()
pandas
读入pandas资料处理
query = """
SELECT
FROM
"""
df = pd.read+gbq(query, project_id=" ")
df_ = df.reset_index().rename(columns={})
资料分布
分位数
APPROX_QUANTILES(栏位, 3)
save
结果存到storage中
%bq extract -f csv -H -p 'gs://路径/名.csv' -q query --verbose
读取
%gcs read --object gs://路径/名.csv -v 读入后的名
使用魔术指令把storage档案读入,透过stringIO
storage
from google.datalab import Context
import google.datalab.bigquery as bq
try:
from StringIO import StringIO
except ImportError:
from io import BytesIO as StringIO
df_ft = pd.read_csv(StringIO(读入后的名))