设立Jenkins在GKE上

招晓贤

招晓贤

AI Engineer

设置zone和下载代码

gcloud config set compute/zone us-east1-d
git clone https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes.git
cd continuous-deployment-on-kubernetes

GCS 读写 by python

招晓贤

招晓贤

AI Engineer

我们可以使用谷歌的Python客户端API将文件上传到谷歌云存储。

方法一:

首先,如下安装api客户端。

pip install --upgrade google-api-python-client

然后,启用api身份验证以获取应用程序默认凭据。

gcloud beta auth application-default login

以下是使用应用程序默认凭据将本地文件上传到Google云存储的示例代码。

from googleapiclient import discovery
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
service = discovery.build('storage', 'v1', credentials=credentials)
filename = './account_id_schema_new.csv'
bucket = 'bq-pandas-bucket'
body = {'name': 'dest_file_name.csv'}
req = service.objects().insert(bucket=bucket, body=body, media_body=filename)
esp = req.execute()

方法二--仅仅需要安装两个包

pip install dask[dataframe] --upgrade --user
pip install gcsfs --user

例子

png

原来无论用pandavro或者pandas都是读取不了GCS的文件的

但是安装包后,就可以读取GCS文件了 png

然后写入gcs,就想平时那样,直接to_csv就可以了 png

import dask.bag as db
b = db.read_avro('gs://zz_mm_bucket/account_id_schema_new.avro')
df = b.to_dataframe()

使用terraform基本语法和创建vm

招晓贤

招晓贤

AI Engineer

terraform 基本语法:

我觉得terraform的基本语法就是字典对象式语法.

总体结构就是

  1. instance.tf 用来创作资源的文件,比如vm instance,storage bucket,bigquery等

  2. variables.tf 参数变量文件,用来写那些变量的,变量的格式为 variable "project" {} 就是: variable + 名字 + {}

  3. terraform.tfvars 用来写变量具体等于什么的, 比如 project = "terraform-45110831"

  4. output.tf 在创建实例后,打印输出我们觉得重要的参数, 具体格式 output 名字 {value = "${变量}"} 如output "ip" {value = "${google_compute_address.vm_static_ip.address}"} 口诀: 2美元1file4引号,简称"214"!!