Hello!

On Wed, Apr 16, 2014 at 7:59 PM, Aureliano Buendia <buendia...@gmail.com>wrote:

> Hi,
>
> Google has publisheed a new connector for hadoop: google cloud storage,
> which is an equivalent of amazon s3:
>
>
> googlecloudplatform.blogspot.com/2014/04/google-bigquery-and-datastore-connectors-for-hadoop.html
>
This is actually about Cloud Datastore and not Cloud Storage (yeah, quite
confusing naming ;) ). But they do already have for a while a cloud storage
connector, also linked from your article:
https://developers.google.com/hadoop/google-cloud-storage-connector


>
>
> How can spark be configured to use this connector?
>
Yes, it can, but in a somewhat hacky way. The problem is that for some
reason Google does not officially publish the library jar alone, you get it
installed as part of a Hadoop on Google Cloud installation. So, the
official way would be (we did not try that) to have a Hadoop on Google
Cloud installation and run spark on top of that.

The other option - that we did try and which works fine for us - is to
snatch the jar:
https://storage.googleapis.com/hadoop-lib/gcs/gcs-connector-1.2.4.jar, make
sure it's shipped to your workers (e.g. with setJars on SparkConf when you
create your SparkContext). Then create a core-site.xml file which you make
sure is on the classpath both in your driver and your cluster (e.g. you can
make sure it ends up in one of the jars you send with setJars above) with
this content (with YOUR_* replaced):
<configuration>

<property><name>fs.gs.impl</name><value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem</value></property>
  <property><name>fs.gs.project.id
</name><value>YOUR_PROJECT_ID</value></property>

<property><name>fs.gs.system.bucket</name><value>YOUR_FAVORITE_BUCKET</value></property>
</configuration>

>From this point on you can simply use gs://... filenames to read/write data
on Cloud Storage.

Note that you should run your cluster and driver program on Google Compute
Engine for this to work as is. Probably it's possible to configure access
from the outside too but we didn't do that.

Hope this helps,
Andras

Reply via email to