【发布时间】:2018-12-03 15:41:37
【问题描述】:
我不得不使用谷歌云集群分析数据集。 我在谷歌云平台上创建了一个存储桶,并创建了一个计算机集群,我将我想要分析的数据移到了存储桶中(我亲自检查了它是否存在)。 我现在必须为我的集群创建一个 ssh 隧道,我通过运行以下代码来做到这一点:
%%bash
#!/bin/bash
NODE="cluster-west1b-m"
ZONE="europe-west1-b"
PORT=8080
PROJ="myfirstproject09112018"
gcloud compute ssh $NODE \
--project=$PROJ \
--zone=$ZONE -- -fN -L $PORT:localhost:$PORT
完成此操作后,我去了 localhost:8080,在这里我打开了一个 python 笔记本,并导入了一些 spark 库:
from pyspark.sql import functions as F
from pyspark.sql import types as T
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
sc = spark.sparkContext
然后我想读取我的文件,因此我尝试运行:
natality = spark.read.csv('gs://storage-eu-west-luchino/natality/natality*.csv',header=True,inferSchema=True)
但是它告诉我他找不到文件,但是文件在桶里所以我不明白问题出在哪里,错误基本上是这个:
Py4JJavaError: An error occurred while calling o61.csv.
: java.io.IOException: No FileSystem for scheme: gs
有人知道为什么这不起作用吗? 我实在想不通问题
【问题讨论】:
标签: python-3.x ssh google-cloud-platform apache-spark-sql cluster-computing