1

我刚刚安装Google Cloud platform了免费试用版。为了运行MapReduce任务DataStore文档说要运行

./bdutil --upload_files "samples/*" run_command ./test-mr-datastore.sh

但是我无法在本地获取此文件,这是有充分理由的,这种运行MapReduce作业的方式似乎已被弃用,请参阅github上的此内容。这是真的吗,是否有另一种方法可以从本地命令行创建 MapReduce 任务而不需要BigQuery

4

2 回答 2

2

数据存储连接器连接器确实已弃用。

对于您的问题“是否有另一种方法可以从本地命令行创建 MapReduce 任务”,一种选择是使用Google Cloud Dataflow。它本身不是 MapReduce,但它是用于并行数据处理的编程模型,已在 Google 中取代了 MapReduce。Dataflow SDK 包括对 Datastore 访问的支持。

与 Hadoop 不同,您不必设置集群。您只需编写代码(使用 Dataflow SDK)并从 CLI 提交您的作业。Datastore 服务将动态创建所需的工作人员来处理您的工作,然后终止它们。

于 2015-06-11T05:44:15.100 回答
1

注意:Google 团队从v1.3.0 (2015-05-27)中删除了 DataStore 连接器,因此您可能需要使用旧版本或使用 GCS 或 BigQuery 作为代理来访问 DataStore 中的数据。bdutil

我尝试尽可能多地涵盖,但bdutil需要更多细节,这很难在这个答案中记录下来,但我希望这可以给你足够的开始:

  • 设置 Google Cloud SDK -详细信息

    # 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 配置文档,因为您需要指定项目、服务器数量、GCS 存储桶、机器类型等...

  • 使用部署您的 Hadoop 实例(完整文档datastore_env.sh

    ./bdutil deploy -e YOUR_ENV_FILE.sh,datastore_env.sh
    
  • 连接到 Hadoop 主节点

    ./bdutil shell
    
  • 现在在主节点中,您可以运行 MapReduce 作业,该作业也可以访问 DataStore。

  • 关闭 Hadoop 集群

     ./bdutil delete
    
于 2015-06-09T04:39:13.910 回答