数据存储mapreduce已被弃用

时间:2015-06-08 15:14:13

标签: java hadoop google-cloud-datastore google-hadoop

我刚安装了Google Cloud platform免费试用版。要使用MapReduce运行DataStore个任务,docs表示要运行

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

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

2 个答案:

答案 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提交作业。数据存储区服务将动态创建所需的工作人员来处理您的工作,然后终止它们。