使用Hadoop配置pig关系

fxm*_*fxm 4 hadoop apache-pig

我很难理解Hadoop和Pig之间的关系.我理解Pig的目的是隐藏脚本语言Pig Latin背后的MapReduce模式.

我不明白的是Hadoop和Pig是如何联系在一起的.到目前为止,唯一的安装程序似乎假设pig与主hadoop节点在同一台机器上运行.实际上,它使用hadoop配置文件.

这是因为猪只将脚本转换成mapreduce代码并将它们发送到hadoop吗?

如果是这种情况,我怎么能配置Pig以使它将脚本发送到远程服务器?

如果没有,这是否意味着我们总是需要在猪身上运行hadoop?

小智 5

猪可以两种模式运行:

  1. 本地模式.在这种模式下,根本不使用Hadoop集群.所有进程都在单个JVM中运行,文件从本地文件系统中读取.要以本地模式运行Pig,请使用以下命令:

    pig -x local 
    
    Run Code Online (Sandbox Code Playgroud)
  2. MapReduce模式.在此模式下,Pig将脚本转换为MapReduce作业并在Hadoop集群上运行它们.这是默认模式.

    群集可以是本地的或远程的.Pig使用HADOOP_MAPRED_HOME环境变量在本地计算机上查找Hadoop安装(请参阅安装Pig).

    如果要连接到远程集群,则应在pig.properties文件中指定集群参数.MRv1的示例:

    fs.default.name=hdfs://namenode_address:8020/
    mapred.job.tracker=jobtracker_address:8021
    
    Run Code Online (Sandbox Code Playgroud)

    您还可以在命令行中指定远程群集地址:

    pig -fs namenode_address:8020 -jt jobtracker_address:8021
    
    Run Code Online (Sandbox Code Playgroud)

因此,您可以将Pig安装到任何计算机并连接到远程集群.Pig包含Hadoop客户端,因此您无需安装Hadoop即可使用Pig.