
                             S r SSKJr  SSKJr  SSKJ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 Spark Sql Job.    )absolute_import)division)unicode_literals)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)SparkSqlBase   z$Submit a Spark SQL job to a cluster.c           
         U R                  SS9nUR                  SSSSS/ SS	9  UR                  S
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                  " 5       SSS9  U R                  S[
        R                  S9  U R                  S[        R                  " 5       SSS9  g)zCParses command-line arguments specific to submitting SparkSql jobs.T)requiredz	--executez-eQUERYqueriesappendz0A Spark SQL query to execute as part of the job.)metavardestactiondefaulthelpz--filez-fzCHCFS URI of file containing Spark SQL script to execute as the job.)r   z--jarsJARziComma separated list of jar files to be provided to the executor and driver classpaths. May contain UDFs.)typer   r   r   z--paramszPARAM=VALUEz?A list of key value pairs to set variables in the Hive queries.)r   r   r   z--propertieszPROPERTY=VALUEz,A list of key value pairs to configure Hive.z--properties-filez--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     9lib/googlecloudsdk/command_lib/dataproc/jobs/spark_sql.pyArgsSparkSqlBase.Args    s3    00$0?F
T?  A $     "B  D   "N	  P
   " ;	  =
 //  1   "B	  D    c                 4    U R                   U R                  S.$ )Njarsfiler&   )argss    r!   GetFilesByTypeSparkSqlBase.GetFilesByTypeJ   s     				 r$   c                    U R                  US   US   US9nUR                  (       a  U R                  UR                  S9Ul        UR                  (       a:  [
        R                  " UR                  U R                   R                  5      Ul        [        R                  " UR                  UR                  5      nU(       a.  [
        R                  " X`R                   R                  SS9Ul        XQl        g)z2Populates the sparkSqlJob member of the given job.r'   r(   )jarFileUrisqueryFileUriloggingConfig)r   T)
sort_itemsN)SparkSqlJobr   	QueryList	queryListparamsr   DictToAdditionalPropertyMessageScriptVariablesValuescriptVariablesr   BuildJobProperties
propertiesproperties_filePropertiesValuesparkSqlJob)messagesjobfiles_by_typelogging_configr)   spark_sql_jobjob_propertiess          r!   ConfigureJobSparkSqlBase.ConfigureJobP   s     ((!&)"6*$ ) M || ( 2 24<< 2 Hm{{&.&N&N
++x++@@'m# 00--N !)!I!I
..>>4"m $Or$    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr"   r*   rC   __static_attributes__rE   r$   r!   r   r      sB    ,'D 'DR  
 $ $r$   r   N)rJ   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.callioper   (googlecloudsdk.command_lib.dataproc.jobsr   job_baser	   r   JobBaser   rE   r$   r!   <module>rS      s3     $ &  ' % / E EM$8## M$r$   