
                             d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z ddl	mZ  G d	 d
ej                        Zy)zBase class for Pig Job.    )absolute_import)division)unicode_literals)encoding)arg_parsers)base)utilc                   @    e Zd ZdZed        Zed        Zed        Zy)PigBasezSubmit a Pig job to a cluster.c           	      $   | j                  d      }|j                  dddddg d	       |j                  d
dd       | j                  dt        j                         dg d       | j                  dt        j                         dd       | j                  dt        j                         dd       | j                  dt
        j                         | j                  ddd       | j                  dt        j                         dd        y!)"z7Performs command-line argument parsing specific to Pig.T)requiredz	--executez-eQUERYqueriesappendz*A Pig query to execute as part of the job.)metavardestactiondefaulthelpz--filez-fz=HCFS URI of file containing Pig script to execute as the job.)r   z--jarsJARzQComma separated list of jar files to be provided to Pig and MR. May contain UDFs.)typer   r   r   z--paramszPARAM=VALUEz>A list of key value pairs to set variables in the Pig queries.)r   r   r   z--propertieszPROPERTY=VALUEz+A list of key value pairs to configure Pig.z--properties-filez--continue-on-failure
store_truez,Whether to continue if a single query fails.)r   r   z--driver-log-levelszPACKAGE=LEVELzpA list of package to log4j log level pairs to configure driver logging. For example: root=FATAL,com.example=INFON)add_mutually_exclusive_groupadd_argumentr   ArgListArgDictjob_utilPROPERTIES_FILE_HELP_TEXT)parserdrivers     3lib/googlecloudsdk/command_lib/dataproc/jobs/pig.pyArgszPigBase.Args    sM    00$0?F
T9  ; $L  N   ".  0   "M	  O
   " :	  <
 //  1 ;  =   "B	  D    c                 4    | j                   | j                  dS )Njarsfiler%   )argss    r!   GetFilesByTypezPigBase.GetFilesByTypeM   s     				 r#   c                    | j                  |j                  |d   |d   |      }|j                  r!| j                  |j                        |_        |j
                  r9t        j                  |j
                  | j                   j                        |_	        t        j                  |j                  |j                        }|r1t        j                  || j                   j                  d      |_        ||_        y)z-Populates the pigJob member of the given job.r&   r'   )continueOnFailurejarFileUrisqueryFileUriloggingConfig)r   T)
sort_itemsN)PigJobcontinue_on_failurer   	QueryList	queryListparamsr   DictToAdditionalPropertyMessageScriptVariablesValuescriptVariablesr   BuildJobProperties
propertiesproperties_filePropertiesValuepigJob)messagesjobfiles_by_typelogging_configr(   pig_jobjob_propertiess          r!   ConfigureJobzPigBase.ConfigureJobS   s     oo22!&)"6*$	  &G ||",,T\\,Bg{{ ( H H
++x;;!=g 00--/N#CC
(//99dLg CJr#   N)__name__
__module____qualname____doc__staticmethodr"   r)   rC    r#   r!   r   r      sB    &*D *DX  
  r#   r   N)rG   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   rI   r#   r!   <module>rP      s3      &  ' % / E EMh Mr#   