Hadoop 使用Google数据流从GCS文件读取序列
我们正在尝试使用GoogleDataflowSDK将保存为序列文件的数据加载到BQ中 在入口点,我们尝试使用以下代码将数据读入管道Hadoop 使用Google数据流从GCS文件读取序列,hadoop,hadoop2,google-cloud-dataflow,sequencefile,Hadoop,Hadoop2,Google Cloud Dataflow,Sequencefile,我们正在尝试使用GoogleDataflowSDK将保存为序列文件的数据加载到BQ中 在入口点,我们尝试使用以下代码将数据读入管道 Read.Bounded<KV<LongWritable, BytesWritable>> resuls = HadoopFileSource.readFrom("gs://raw-data/topic-name/dt=2017-02-28/1_0_00000000002956516884.gz", org.a
Read.Bounded<KV<LongWritable, BytesWritable>> resuls = HadoopFileSource.readFrom("gs://raw-data/topic-name/dt=2017-02-28/1_0_00000000002956516884.gz",
org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat.class, LongWritable.class, BytesWritable.class);
Read.Bounded results=HadoopFileSource.readFrom(“gs://raw data/topic name/dt=2017-02-28/1_0_00000000002956516884.gz”,
org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat.class、LongWritable.class、BytesWritable.class);
[1]我们正在使用“gcs连接器”来启用hadoop概念
[2]hadoop文件源来自com.google.cloud.dataflow.contrib.hadoop
我们的core-sites.xml文件如下所示:
<configuration>
<property>
<name>fs.gs.impl</name>
<value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem</value>
<description>The FileSystem for gs: (GCS) uris.</description>
</property>
<property>
<name>fs.AbstractFileSystem.gs.impl</name>
<value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS</value>
<description>
The AbstractFileSystem for gs: (GCS) uris. Only necessary for use with Hadoop 2.
</description>
</property>
fs.gs.impl
com.google.cloud.hadoop.fs.gcs.googlehadoop文件系统
gs:(GCS)URI的文件系统。
fs.AbstractFileSystem.gs.impl
com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS
gs:(GCS)URI的抽象文件系统。仅适用于Hadoop 2。
但是我们不断得到“java.net.UnknownHostException:metadata”
i event将GOOGLE_APPLICATION_CREDENTIALS=“/path/to/key.json”添加到环境变量中,但我们仍然得到相同的异常
只需要简单的方式读取序列文件到谷歌数据流管道
来自地面军事系统
非常感谢你的帮助
谢谢,
Avi不太清楚从何处获得异常,也不清楚这与应用程序凭据的关系。还不完全清楚您是如何将
HadoopFileSource
与您的pipelien一起使用的--您可以包含更多的源代码吗?谢谢@BenChambers。我在代码中解决了这个错误,并能够在添加到core-site.xml后从gs://读取相关凭据。但是,当使用--runner=BlockingDataflowPipelineRunner运行此代码时,我现在得到的是java.lang.NoClassDefFoundError:com/google/api/client/util/BackOff(我从google日志中附加了我的源代码和printscreen)这个错误看起来像是一个依赖性问题。检查您是否正在使用SDK的最新版本以及任何依赖项的匹配版本,如中所列