我刚安装了Google Cloud platform
免费试用版。要使用MapReduce
运行DataStore
个任务,docs表示要运行
./bdutil --upload_files "samples/*" run_command ./test-mr-datastore.sh
但是我无法在我的本地获取此文件,这是一个很好的理由,这种运行MapReduce
工作的方式似乎已被弃用,请参阅github。是真的,是否有另一种方法可以从本地命令行创建MapReduce任务而无需BigQuery
?
答案 0 :(得分:1)
注意:来自bdutil
v1.3.0(2015-05-27)的Google小组removed DataStore connector,因此您可能需要使用旧版本或使用GCS或BigQuery作为在DataStore中访问数据的代理。
我尝试尽可能多地覆盖,但是bdutil
需要更多细节,在这个答案中很难记录它,但我希望这可以给你足够的开始:
设置Google Cloud SDK - detail
# Download SDK
curl https://sdk.cloud.google.com | bash
# Restart your shell
exec -l $SHELL
# Authenticate to GCP
gcloud auth login
# Select Project
gcloud config set project PROJECT_NAME
下载并解压缩包含DataStore连接器的bdutil源代码。
# Download source which contains DataStore connector
wget https://github.com/GoogleCloudPlatform/bdutil/archive/1.2.1.tar.gz -O bdutil.tar.gz
# Extract source
tar -xvzf bdutil.tar.gz
cd bdutil-*/
创建bdutil自定义环境变量文件。有关创建正确的配置文件,请参阅bdutil configuration documentation,因为您需要指定项目,服务器数量,GCS存储桶,机器类型等...
使用datastore_env.sh
部署您的Hadoop实例(Full documentation)
./bdutil deploy -e YOUR_ENV_FILE.sh,datastore_env.sh
连接到Hadoop主节点
./bdutil shell
现在在Master节点中,您可以运行MapReduce作业,该作业也可以访问DataStore。
关闭您的Hadoop群集
./bdutil delete
答案 1 :(得分:1)
数据存储区连接器连接器确实已弃用。
对于您的问题"是否有另一种方法可以从本地命令行创建MapReduce任务",一种选择是使用Google Cloud Dataflow。它本身不是MapReduce,但它是并行数据处理的编程模型,已取代Google的MapReduce。 Dataflow SDK包含support for Datastore access。
与Hadoop不同,您不必设置群集。您只需编写代码(使用Dataflow SDK)并从CLI提交作业。数据存储区服务将动态创建所需的工作人员来处理您的工作,然后终止它们。