
    2                         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 SparkR 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)
SparkRBase   z!Submit a SparkR job to a cluster.c                    U R                  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)z:Performs command-line argument parsing specific to SparkR.r_filez"Main .R file to run as the driver.)helpz--filesFILEziComma separated list of files to be placed in the working directory of both the app driver and executors.)typemetavardefaultr   z
--archivesARCHIVEzComma separated list of archives to be extracted into the working directory of each executor. Must be one of the following file formats: .zip, .tar, .tar.gz, or .tgz.job_argsz Arguments to pass to the driver.)nargsr   z--propertieszPROPERTY=VALUEzList of key value pairs to configure SparkR. For a list of available properties, see: https://spark.apache.org/docs/latest/configuration.html#available-properties.)r   r   r   z--properties-filez--driver-log-levelszPACKAGE=LEVELzList of key value pairs to configure driver logging, where key is a package and value is the log4j log level. For example: root=FATAL,com.example=INFON)add_argumentr   ArgListargparse	REMAINDERArgDictjob_utilPROPERTIES_FILE_HELP_TEXT)parsers    7lib/googlecloudsdk/command_lib/dataproc/jobs/spark_r.pyArgsSparkRBase.Args    s    'KL
  ":  ;   "  	   /  1   " 3	  4 //  1   "5	  7    c                 J    U R                   U R                  U R                  S.$ )Nr   archivesfilesr$   )argss    r   GetFilesByTypeSparkRBase.GetFilesByTypeM   s#     ++MM r"   c                 0   U R                  UR                  =(       d    / US   US   US   US9n[        R                  " UR                  UR
                  5      nU(       a/  [        R                  " X`R                   R                  5      Ul        XQl	        g)z0Populates the sparkRJob member of the given job.r%   r&   r   )r'   archiveUrisfileUrismainRFileUriloggingConfigN)
	SparkRJobr   r   BuildJobProperties
propertiesproperties_filer   DictToMessagePropertiesValue	sparkRJob)messagesjobfiles_by_typelogging_configr'   spark_r_jobjob_propertiess          r   ConfigureJobSparkRBase.ConfigureJobU   s     $$]] b!*-w'"8,$ % K 00--N '55
,,<< k  Mr"    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr    r(   r<   __static_attributes__r>   r"   r   r   r      s@    )*7 *7X      r"   r   )rC   
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   r>   r"   r   <module>rL      s6    ! &  '  % / E EK !! K r"   