/ / हाइव तालिकाओं का उपयोग करते समय स्पार्क थ्रो एरर जमा करता है - अपाचे-स्पार्क, हाइव, स्पार्क-डेटाफ्रेम

स्पार्क सबमिट हाइव टेबल - अपाचे-स्पार्क, हाइव, स्पार्क-डेटाफ्रेम का उपयोग करते समय त्रुटि फेंकता है

मेरे पास एक अजीब त्रुटि है, मैं हाइव करने के लिए डेटा लिखने की कोशिश कर रहा हूं, यह स्पार्क-शेल में अच्छी तरह से काम करता है, लेकिन जब मैं स्पार्क-सबमिट का उपयोग कर रहा हूं, तो यह डेटाबेस / टेबल को डिफॉल्ट त्रुटि में नहीं मिला।

निम्नलिखित कोडिंग मैं स्पार्क-सबमिट में लिखने की कोशिश कर रहा हूं, मैं स्पार्क 2.0.0 के कस्टम बिल्ड का उपयोग कर रहा हूं

 val sqlContext = new org.apache.spark.sql.SQLContext(sc)
sqlContext.table("spark_schema.iris_ori")

निम्नलिखित आदेश का उपयोग कर रहा हूँ,

/home/ec2-user/Spark_Source_Code/spark/bin/spark-submit --class TreeClassifiersModels --master local[*] /home/ec2-user/Spark_Snapshots/Spark_2.6/TreeClassifiersModels/target/scala-2.11/treeclassifiersmodels_2.11-1.0.3.jar /user/ec2-user/Input_Files/defPath/iris_spark SPECIES~LBL+PETAL_LENGTH+PETAL_WIDTH RAN_FOREST 0.7 123 12

निम्नलिखित त्रुटि है,

16/05/20 09:05:18 जानकारी SparkSqlParser: पार्सिंग कमांड: स्पार्क_सहेम.उपन्यास_ २०१०५०२०० ९ ०५०५ थ्रेड में अपवाद "मुख्य" org.apache.spark.sql.AnalysisException: डेटाबेस "स्पार्क_स्केमा" मौजूद नहीं है; org.apache.spark.sql.catalyst.catalog.ExternalCatalog.requireDbExists (ExternalCatalog.scala: 37) org.apache.spark.sql.catalyst.catalog.InMemoryCatalog.tableExists (InMemoryCatalog.scala: 195) org.apache.spark.sql.catalyst.catalog.SessionCatalog.tableExists (SessionCatalog.scala: 360) org.apache.spark.sql.DataFrameWriter.saveAsTable (DataFrameWriter.scala: 464) org.apache.spark.sql.DataFrameWriter.saveAsTable (DataFrameWriter.scala: 458) TreeClassifiersModels में $ .main (TreeClassifiersModels.scala: 71) TreeClassifiersModels.main पर (TreeClassifiersModels.scala) sun.reflect.NativeMethodAccessorImpl.invoke0 (मूल विधि) पर at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke (Method.java:497) पर org.apache.spark.deploy.SparkSubmit $ .org $ apache $ स्पार्क $ स्पार्क $ पर तैनात $ SparkSubmit org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1 (SparkSubmit.scala: 183) org.apache.spark.deploy.SparkSubmit $ .submit (SparkSubmit.sc.in: New) org.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 122) org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala)

उत्तर:

जवाब के लिए 2 № 1

मुद्दा स्पार्क संस्करण 2.0.0 पर हुआ वियोग के कारण था। हाइव प्रसंग को स्पार्क 2.0.0 में पदावनत किया गया। स्पार्क 2.0.0 पर हाइव टेबल को पढ़ने / लिखने के लिए हमें स्पार्क सत्र का उपयोग करने की आवश्यकता है।

val sparkSession = SparkSession.withHiveSupport(sc)