
    F                         S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	  SSK
Jr  SS	K
Jr   " S
 S\R                  5      rg)zBase class for Hadoop Job.    )absolute_import)division)unicode_literalsN)encoding)arg_parsers)base)utilc                   H    \ rS rSrSr\S 5       r\S 5       r\S 5       rSr	g)
HadoopBase   z,Common functionality between release tracks.c                    U R                  S[        R                  " 5       S/ SS9  U R                  S[        R                  " 5       S/ SS9  U R                  S[        R                  " 5       S	/ S
S9  U R                  S[        R                  SS9  U R                  S[        R
                  " 5       SSS9  U R                  S[        R                  S9  U R                  S[        R
                  " 5       SSS9  g)zAParses command-line arguments specific to submitting Hadoop jobs.z--jarsJARzQComma separated list of jar files to be provided to the MR and driver classpaths.)typemetavardefaulthelpz--filesFILEzComma separated list of file paths to be provided to the job. A file path can either be a path to a local file or a path to a file already in a Cloud Storage bucket.z
--archivesARCHIVEzComma separated list of archives to be provided to the job. must be one of the following file formats: .zip, .tar, .tar.gz, or .tgz.job_argsz$The arguments to pass to the driver.)nargsr   z--propertieszPROPERTY=VALUEz.A list of key value pairs to configure Hadoop.)r   r   r   z--properties-file)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_argumentr   ArgListargparse	REMAINDERArgDictjob_utilPROPERTIES_FILE_HELP_TEXT)parsers    6lib/googlecloudsdk/command_lib/dataproc/jobs/hadoop.pyArgsHadoopBase.Args"   s,      "#  %   "<  =   "     3  5   " =	  ?
 //  1   "B	  D    c                 `    U R                   U R                  U R                  U R                  S.$ )z=Returns a dict of files by their type (jars, archives, etc.).main_jarjarsarchivesfilesr$   )argss    r   GetFilesByTypeHadoopBase.GetFilesByTypeO   s*     MM		MM	 r"   c           
      L   U R                  UR                  =(       d    / US   US   US   UR                  US   US9n[        R                  " UR
                  UR                  5      nU(       a.  [        R                  " X`R                   R                  SS9Ul        XQl
        g)	z0Populates the hadoopJob member of the given job.r'   r(   r&   r%   )r)   archiveUrisfileUrisjarFileUris	mainClassmainJarFileUriloggingConfigT)
sort_itemsN)	HadoopJobr   
main_classr   BuildJobProperties
propertiesproperties_filer   DictToAdditionalPropertyMessagePropertiesValue	hadoopJob)messagesjobfiles_by_typelogging_configr)   
hadoop_jobjob_propertiess          r   ConfigureJobHadoopBase.ConfigureJobX   s     ##]] b!*-w'!&)//$Z0$ $ &J 00--/N&FF
,,<<Oj Mr"    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr    r*   rB   __static_attributes__rD   r"   r   r   r      sB    4*D *DX    r"   r   )rI   
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   rD   r"   r   <module>rR      s6     ! &  '  % / E EL!! Lr"   