我刚刚安装了 Google Cloud platform
免费试用。为了跑 MapReduce
具有的任务 DataStore
医生说要跑
./bdutil --upload_files "samples/*" run_command ./test-mr-datastore.sh
但是我在本地找不到这个文件,这是有原因的,用这种方式运行 MapReduce
在github上看到这一点,jobs似乎被弃用了。这是真的吗?有没有其他方法可以从本地命令行创建mapreduce任务而不需要 BigQuery
?
2条答案
按热度按时间vzgqcmou1#
注意:google团队从中删除了datastoreconnector
bdutil
v1.3.0(2015-05-27)以后,您可能需要使用旧版本,或者使用gcs或bigquery作为代理来访问数据存储中的数据。我试着尽可能多的报道,但是
bdutil
这需要更多的细节,很难记录在这个答案中,但我希望这能给你足够的开始:安装google云sdk-详细信息
下载并提取包含数据存储连接器的bdutil源代码。
创建bdutil自定义环境变量文件。关于创建正确的配置文件,请参阅bdutil配置文档,因为您需要指定项目、服务器数量、gcs bucket、机器类型等。。。
使用部署hadoop示例(完整文档)
datastore_env.sh
```./bdutil deploy -e YOUR_ENV_FILE.sh,datastore_env.sh
./bdutil shell
./bdutil delete
p1tboqfb2#
数据存储连接器确实已被弃用。
对于您的问题“有没有从本地命令行创建mapreduce任务的替代方法”,一个选项是使用googleclouddataflow。它不是mapreduce本身,而是用于并行数据处理的编程模型,它已经取代了google的mapreduce。dataflowsdk包括对数据存储访问的支持。
与hadoop不同,您不必设置集群。您只需编写代码(使用dataflowsdk)并从cli提交作业。数据存储服务将动态创建处理作业所需的工人,然后终止他们。