Terraform 0.11

google_dataproc_job




terraform

google_dataproc_job

जीसीई के भीतर डाटाप्रो क्लस्टर के भीतर एक नौकरी संसाधन का प्रबंधन करता है। अधिक जानकारी के लिए आधिकारिक डेटाप्रोक प्रलेखन देखें

उदाहरण उपयोग

resource "google_dataproc_cluster" "mycluster" {
    name   = "dproc-cluster-unique-name"
    region = "us-central1"
}

# Submit an example spark job to a dataproc cluster
resource "google_dataproc_job" "spark" {
    region       = "${google_dataproc_cluster.mycluster.region}"
    force_delete = true
    placement {
        cluster_name = "${google_dataproc_cluster.mycluster.name}"
    }

    spark_config {
        main_class    = "org.apache.spark.examples.SparkPi"
        jar_file_uris = ["file:///usr/lib/spark/examples/jars/spark-examples.jar"]
        args          = ["1000"]

        properties    = {
            "spark.logConf" = "true"
        }

        logging_config {
            driver_log_levels {
                "root" = "INFO"
            }
        }
    }
}

# Submit an example pyspark job to a dataproc cluster
resource "google_dataproc_job" "pyspark" {
    region       = "${google_dataproc_cluster.mycluster.region}"
    force_delete = true
    placement {
        cluster_name = "${google_dataproc_cluster.mycluster.name}"
    }

    pyspark_config {
        main_python_file_uri = "gs://dataproc-examples-2f10d78d114f6aaec76462e3c310f31f/src/pyspark/hello-world/hello-world.py"
        properties = {
            "spark.logConf" = "true"
        }
    }
}

# Check out current state of the jobs
output "spark_status" {
    value = "${google_dataproc_job.spark.status.0.state}"
}

output "pyspark_status" {
    value = "${google_dataproc_job.pyspark.status.0.state}"
}

तर्क संदर्भ

  • placement.cluster_name - (आवश्यक) उस क्लस्टर का नाम जहां नौकरी प्रस्तुत की जाएगी।

  • xxx_config - (आवश्यक) निश्चित रूप से क्लस्टर पर चलने के लिए विशिष्ट कार्य प्रकारों में से एक को निर्दिष्ट किया जाना चाहिए। यदि आप कई कार्य सबमिट करना चाहते हैं, तो इसके लिए वर्तमान में कई google_dataproc_job संसाधनों की परिभाषा की आवश्यकता होगी जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, या count विशेषता सेट करके। निम्न कार्य कॉन्फ़िगरेशन समर्थित हैं:

    • pyspark_config - क्लस्टर में एक PySpark नौकरी प्रस्तुत करता है
    • स्पार्क_कॉन्फ़िग - क्लस्टर के लिए स्पार्क नौकरी प्रस्तुत करता है
    • hadoop_config - क्लस्टर के लिए एक Hadoop कार्य प्रस्तुत करता है
    • hive_config - क्लस्टर के लिए एक Hive कार्य प्रस्तुत करता है
    • hpig_config - क्लस्टर में एक सुअर नौकरी प्रस्तुत करता है
    • स्पार्कक्यूएल_कॉन्फ़िग - क्लस्टर के लिए एक स्पार्क एसक्यूएल नौकरी प्रस्तुत करता है
  • project - (वैकल्पिक) वह परियोजना जिसमें cluster पाया जा सकता है और बाद में इसके विरुद्ध कार्य चलता है। यदि यह प्रदान नहीं किया जाता है, तो प्रदाता परियोजना का उपयोग किया जाता है।

  • region - (वैकल्पिक) क्लाउड डाटापोक क्षेत्र। यह अनिवार्य रूप से निर्धारित करता है कि इस नौकरी के लिए कौन से क्लस्टर उपलब्ध हैं। यदि निर्दिष्ट नहीं है, तो global चूक।

  • force_delete - (वैकल्पिक) डिफ़ॉल्ट रूप से, आप केवल Dataproc के भीतर निष्क्रिय नौकरियों को हटा सकते हैं। इसे सही पर सेट करना, और कॉल को नष्ट करना, यह सुनिश्चित करेगा कि डिलीट जारी करने से पहले नौकरी रद्द कर दी जाए।

  • labels - (वैकल्पिक) नौकरी में जोड़ने के लिए लेबल (कुंजी / मूल्य जोड़े) की सूची।

  • scheduling.max_failures_per_hour - (वैकल्पिक) प्रति घंटे की अधिकतम संख्या एक ड्राइवर को फिर से शुरू किया जा सकता है क्योंकि नौकरी से पहले रिपोर्ट न किए जाने पर ड्राइवर को गैर-शून्य कोड के साथ समाप्त किया जाता है।

pyspark_config ब्लॉक का समर्थन करता है:

क्लस्टर के लिए एक pyspark नौकरी सबमिट करना। नीचे एक उदाहरण विन्यास है:

# Submit a pyspark job to the cluster
resource "google_dataproc_job" "pyspark" {
    ...

    pyspark_config {
        main_python_file_uri = "gs://dataproc-examples-2f10d78d114f6aaec76462e3c310f31f/src/pyspark/hello-world/hello-world.py"
        properties = {
            "spark.logConf" = "true"
        }
    }
}

Hadoop कम्पैटिबल फाइल सिस्टम (HCFS) संदर्भों की आवश्यकता वाले विन्यास के लिए, नीचे दिए गए विकल्प आमतौर पर लागू होते हैं:

  - GCS files with the `gs://` prefix
  - HDFS files on the cluster with the `hdfs://` prefix
  - Local files on the cluster with the `file://` prefix
  • main_python_file_uri - (आवश्यक) ड्राइवर के रूप में उपयोग करने के लिए मुख्य पायथन फ़ाइल का HCFS URI। एक .py फ़ाइल होनी चाहिए।

  • args - (वैकल्पिक) ड्राइवर को पास करने के लिए तर्क।

  • python_file_uris - (वैकल्पिक) HCFS Python फ़ाइलों के URI को PySpon फ्रेमवर्क में पास करने के लिए फाइल करता है। समर्थित फ़ाइल प्रकार: .py, .gg और .zip।

  • jar_file_uris - (वैकल्पिक) HCF URI की जार फाइलें अजगर ड्राइवर और कार्यों के CLASSPATH में जोड़ने के लिए।

  • file_uris - (वैकल्पिक) HCFS URI की फाइलों को पायथन ड्राइवरों की वर्किंग डायरेक्टरी में कॉपी किया जाना चाहिए और कार्यों को वितरित किया जाना चाहिए। भोली समानांतर कार्यों के लिए उपयोगी।

  • archive_uris - (वैकल्पिक) एचसीएफएस यूआरआई के अभिलेखागार को .jar, .tar, .tar.gz, .tgz, और .zip की कार्यशील निर्देशिका में निकाला जा सकता है।

  • properties - (वैकल्पिक) मूल्यों के लिए संपत्ति के नाम की मैपिंग, जिसका उपयोग PySpark को कॉन्फ़िगर करने के लिए किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है। में /etc/spark/conf/spark-defaults.conf और उपयोगकर्ता कोड में सेट गुण शामिल हो सकते हैं।

  • logging_config.driver_log_levels - (वैकल्पिक) ड्राइवर के लिए प्रति-पैकेज लॉग स्तर। इसमें रूट-लॉगर को कॉन्फ़िगर करने के लिए 'रूट' पैकेज नाम शामिल हो सकता है। उदाहरण: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

spark_config ब्लॉक सपोर्ट करता है:

# Submit a spark job to the cluster
resource "google_dataproc_job" "spark" {
    ...

    spark_config {
        main_class    = "org.apache.spark.examples.SparkPi"
        jar_file_uris = ["file:///usr/lib/spark/examples/jars/spark-examples.jar"]
        args          = ["1000"]

        properties    = {
            "spark.logConf" = "true"
        }

        logging_config {
            driver_log_levels {
                "root" = "INFO"
            }
        }
    }
}
  • main_class - (वैकल्पिक) चालक की मुख्य विधि युक्त वर्ग। किसी दिए गए जार या जार में होना चाहिए जो पहले से ही क्लासपाथ पर है। main_jar_file_uri साथ main_jar_file_uri

  • main_jar_file_uri - (वैकल्पिक) जार फ़ाइल का HCFS URI जिसमें ड्राइवर जार है। main_class साथ संघर्ष

  • args - (वैकल्पिक) ड्राइवर को पास करने के लिए तर्क।

  • jar_file_uris - (वैकल्पिक) स्पार्क ड्राइवर और कार्यों के CLASSPATH में जोड़ने के लिए जार फ़ाइलों के HCFS URI।

  • file_uris - (वैकल्पिक) HCFS URI की फाइलें स्पार्क ड्राइवरों की वर्किंग डाइरेक्टरी में कॉपी की जाती हैं और टास्क वितरित करती हैं। भोली समानांतर कार्यों के लिए उपयोगी।

  • archive_uris - (वैकल्पिक) एचसीएफएस यूआरआई के अभिलेखागार को .jar, .tar, .tar.gz, .tgz, और .zip की कार्यशील निर्देशिका में निकाला जा सकता है।

  • properties - (वैकल्पिक) मानों के लिए संपत्ति के नामों की एक मानचित्रण, जिसका उपयोग स्पार्क को कॉन्फ़िगर करने के लिए किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है। में /etc/spark/conf/spark-defaults.conf और उपयोगकर्ता कोड में सेट गुण शामिल हो सकते हैं।

  • logging_config.driver_log_levels - (वैकल्पिक) ड्राइवर के लिए प्रति-पैकेज लॉग स्तर। इसमें रूट-लॉगर को कॉन्फ़िगर करने के लिए 'रूट' पैकेज नाम शामिल हो सकता है। उदाहरण: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

hadoop_config ब्लॉक का समर्थन करता है:

# Submit a hadoop job to the cluster
resource "google_dataproc_job" "hadoop" {
    ...

    hadoop_config {
        main_jar_file_uri =  "file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar"
        args              = [
            "wordcount",
            "file:///usr/lib/spark/NOTICE",
            "gs://${google_dataproc_cluster.basic.cluster_config.0.bucket}/hadoopjob_output"
        ]
    }
}
  • main_class - (वैकल्पिक) ड्राइवर के मुख्य वर्ग का नाम। जार फ़ाइल को क्लास में डिफ़ॉल्ट CLASSPATH में होना चाहिए या jar_file_uris में निर्दिष्ट होना चाहिए। main_jar_file_uri साथ main_jar_file_uri

  • main_jar_file_uri - (वैकल्पिक) जार फ़ाइल का HCFS URI जिसमें मुख्य वर्ग होता है। उदाहरण: 'gs: //foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs: /tmp/test-samples/custom-wordcount.jar' 'file: /// home / usr /lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar '। main_class साथ संघर्ष

  • args - (वैकल्पिक) ड्राइवर को पास करने के लिए तर्क। तर्क शामिल न करें, जैसे कि -लिबर या -डू = बार, जो कि नौकरी के गुणों के रूप में सेट किया जा सकता है, क्योंकि एक टकराव हो सकता है जो गलत नौकरी प्रस्तुत करने का कारण बनता है।

  • jar_file_uris - (वैकल्पिक) स्पार्क ड्राइवर और कार्यों के CLASSPATH में जोड़ने के लिए जार फ़ाइलों के HCFS URI।

  • file_uris - (वैकल्पिक) Hadoop ड्राइवरों की वर्किंग डायरेक्टरी में कॉपी की जाने वाली फाइलें और वितरित कार्यों के लिए HCFS URI। भोली समानांतर कार्यों के लिए उपयोगी।

  • archive_uris - (वैकल्पिक) एचसीएफएस यूआरआई के अभिलेखागार को .jar, .tar, .tar.gz, .tgz, और .zip की कार्यशील निर्देशिका में निकाला जा सकता है।

  • properties - (वैकल्पिक) मान के लिए संपत्ति के नामों की एक मानचित्रण, जिसका उपयोग Hadoop को कॉन्फ़िगर करने के लिए किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है। उपयोगकर्ता कोड में /etc/hadoop/conf/*-site और कक्षाओं में निर्धारित गुण शामिल कर सकते हैं।

  • logging_config.driver_log_levels - (वैकल्पिक) ड्राइवर के लिए प्रति-पैकेज लॉग स्तर। इसमें रूट-लॉगर को कॉन्फ़िगर करने के लिए 'रूट' पैकेज नाम शामिल हो सकता है। उदाहरण: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

hive_config ब्लॉक का समर्थन करता है:

# Submit a hive job to the cluster
resource "google_dataproc_job" "hive" {
    ...

    hive_config {
        query_list = [
            "DROP TABLE IF EXISTS dprocjob_test",
            "CREATE EXTERNAL TABLE dprocjob_test(bar int) LOCATION 'gs://${google_dataproc_cluster.basic.cluster_config.0.bucket}/hive_dprocjob_test/'",
            "SELECT * FROM dprocjob_test WHERE bar > 2",
        ]
    }
}
  • query_list - (वैकल्पिक) नौकरी के हिस्से के रूप में निष्पादित करने के लिए हाइव प्रश्नों या कथनों की सूची। query_file_uri साथ query_file_uri

  • query_file_uri - (वैकल्पिक) नौकरी के रूप में निष्पादित करने के लिए हाइव स्क्रिप्ट वाली फ़ाइल का HCFS URI। query_list साथ query_list

  • continue_on_failure - (वैकल्पिक) यदि क्वेरी विफल रहती है, तो क्वेरी निष्पादित करना जारी रखना है या नहीं। मूल मूल्य गलत है। स्वतंत्र समानांतर प्रश्नों को निष्पादित करते समय सही पर सेट करना उपयोगी हो सकता है। झूठे की अवहेलना करता है।

  • script_variables - (वैकल्पिक) क्वेरी चर नामों का मानचित्रण मानों (हाइव कमांड के बराबर: SET name="value"; ) SET name="value";

  • properties - (वैकल्पिक) संपत्ति के नाम और मूल्यों का मानचित्रण, जिसका उपयोग हाइव को कॉन्फ़िगर करने के लिए किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है। /etc/hadoop/conf/*-site.xml , /etc/hive/conf/hive-site.xml और उपयोगकर्ता कोड में कक्षाएं सेट की गई संपत्तियाँ शामिल कर सकते हैं।

  • jar_file_uris - (वैकल्पिक) Hive सर्वर और Hadoop MapReduce (MR) कार्यों के CLASSPATH में जोड़ने के लिए जार फ़ाइलों के HCFS URI। हाइव SerDes और UDFs शामिल कर सकते हैं।

pig_config ब्लॉक का समर्थन करता है:

# Submit a pig job to the cluster
resource "google_dataproc_job" "pig" {
    ...

    pig_config {
        query_list = [
            "LNS = LOAD 'file:///usr/lib/pig/LICENSE.txt ' AS (line)",
            "WORDS = FOREACH LNS GENERATE FLATTEN(TOKENIZE(line)) AS word",
            "GROUPS = GROUP WORDS BY word",
            "WORD_COUNTS = FOREACH GROUPS GENERATE group, COUNT(WORDS)",
            "DUMP WORD_COUNTS"
        ]
    }
}
  • query_list - (वैकल्पिक) नौकरी के हिस्से के रूप में निष्पादित करने के लिए हाइव प्रश्नों या कथनों की सूची। query_file_uri साथ query_file_uri

  • query_file_uri - (वैकल्पिक) नौकरी के रूप में निष्पादित करने के लिए हाइव स्क्रिप्ट वाली फ़ाइल का HCFS URI। query_list साथ query_list

  • continue_on_failure - (वैकल्पिक) यदि क्वेरी विफल रहती है, तो क्वेरी निष्पादित करना जारी रखना है या नहीं। मूल मूल्य गलत है। स्वतंत्र समानांतर प्रश्नों को निष्पादित करते समय सही पर सेट करना उपयोगी हो सकता है। झूठे की अवहेलना करता है।

  • script_variables - (वैकल्पिक) क्वेरी चर नामों को मानों के लिए मैप करना (सुअर कमांड के बराबर: name=[value] )।

  • properties - (वैकल्पिक) मूल्यों को गुण नामों की मैपिंग, जिसका उपयोग सुअर को कॉन्फ़िगर करने के लिए किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है। /etc/hadoop/conf/*-site.xml , /etc/pig/conf/pig.properties और उपयोगकर्ता कोड में कक्षाएं सेट की गई संपत्तियाँ शामिल कर सकते हैं।

  • jar_file_uris - (वैकल्पिक) सुअर क्लाइंट और Hadoop MapReduce (MR) कार्यों के CLASSPATH में जोड़ने के लिए जार फ़ाइलों के HCFS URI। सुअर UDFs शामिल कर सकते हैं।

  • logging_config.driver_log_levels - (वैकल्पिक) ड्राइवर के लिए प्रति-पैकेज लॉग स्तर। इसमें रूट-लॉगर को कॉन्फ़िगर करने के लिए 'रूट' पैकेज नाम शामिल हो सकता है। उदाहरण: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

sparksql_config ब्लॉक सपोर्ट करता है:

# Submit a spark SQL job to the cluster
resource "google_dataproc_job" "sparksql" {
    ...

    sparksql_config {
        query_list = [
            "DROP TABLE IF EXISTS dprocjob_test",
            "CREATE TABLE dprocjob_test(bar int)",
            "SELECT * FROM dprocjob_test WHERE bar > 2",
        ]
    }
}
  • query_list - (वैकल्पिक) कार्य के भाग के रूप में निष्पादित करने के लिए SQL प्रश्नों या कथनों की सूची। query_file_uri साथ query_file_uri

  • query_file_uri - (वैकल्पिक) SQL क्वेरी वाले स्क्रिप्ट का HCFS URI। query_list साथ query_list

  • script_variables - (वैकल्पिक) क्वेरी चर नामों को मानों के मानचित्रण (स्पार्क SQL कमांड के बराबर: SET name="value"; )।

  • properties - (वैकल्पिक) मानों के लिए संपत्ति के नामों की एक मैपिंग, स्पार्क SQL के स्पार्ककॉन्फ़ को कॉन्फ़िगर करने के लिए उपयोग किया जाता है। क्लाउड डाटाप्रो एपीआई द्वारा निर्धारित मूल्यों के साथ संघर्ष करने वाले गुणों को अधिलेखित किया जा सकता है।

  • jar_file_uris - (वैकल्पिक) HCF URI की जार फ़ाइलों को स्पार्क CLASSATH में जोड़ा जाना है।

  • logging_config.driver_log_levels - (वैकल्पिक) ड्राइवर के लिए प्रति-पैकेज लॉग स्तर। इसमें रूट-लॉगर को कॉन्फ़िगर करने के लिए 'रूट' पैकेज नाम शामिल हो सकता है। उदाहरण: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'

संदर्भ संदर्भित करता है

ऊपर सूचीबद्ध तर्कों के अलावा, निम्नलिखित गणना की गई विशेषताएँ निर्यात की जाती हैं:

  • reference.0.cluster_uuid - जब नौकरी प्रस्तुत की जाती है तो क्लाउड डाटापोक सेवा द्वारा उत्पन्न क्लस्टर UUID।

  • status.0.state - एक राज्य संदेश जो समग्र नौकरी की स्थिति को निर्दिष्ट करता है।

  • status.0.details - वैकल्पिक राज्य स्थिति का विवरण, जैसे कि एक त्रुटि विवरण यदि राज्य ERROR है।

  • status.0.state_start_time - वह समय जब इस स्थिति में प्रवेश किया गया था।

  • status.0.substate - अतिरिक्त राज्य जानकारी, जिसमें एजेंट द्वारा रिपोर्ट की गई स्थिति शामिल होती है।

  • driver_output_resource_uri - नौकरी के ड्राइवर प्रोग्राम के driver_output_resource_uri के स्थान की ओर इशारा करते हुए एक यूआरआई।

  • driver_controls_files_uri - यदि मौजूद है, तो विविध नियंत्रण फ़ाइलों का स्थान जो कि नौकरी सेटअप और हैंडलिंग के हिस्से के रूप में उपयोग किया जा सकता है। यदि मौजूद नहीं है, तो नियंत्रण फ़ाइलों को एक ही स्थान पर रखा जा सकता है जैसे कि driver_output_uri।

समय समाप्ति

google_dataproc_cluster निम्नलिखित Timeouts कॉन्फ़िगरेशन विकल्प प्रदान करता है:

  • create - (डिफ़ॉल्ट 10 minutes ) एक dataproc क्लस्टर में नौकरी सबमिट करने के लिए उपयोग किया जाता है।
  • delete - (डिफॉल्ट 10 minutes ) डेटाप्रोक क्लस्टर से नौकरी हटाने के लिए उपयोग किया जाता है।