पर सहेजना/निर्यात करना मैं जेडीबीसी डेटाबेस पर डेटा लिखने के लिए नए DataFrameWriter
का उपयोग करने का तरीका जानने का प्रयास कर रहा हूं। मुझे इसके लिए कोई दस्तावेज नहीं मिल रहा है, हालांकि स्रोत कोड को देखते हुए ऐसा लगता है कि यह संभव होना चाहिए।परिवर्तित डेटाफ्रेम को जेडीबीसी/माईएसक्यूएल
का एक तुच्छ उदाहरण क्या मैं इस तरह दिखता है कोशिश कर रहा हूँ:
sqlContext.read.format("jdbc").options(Map(
"url" -> "jdbc:mysql://localhost/foo", "dbtable" -> "foo.bar")
).select("some_column", "another_column")
.write.format("jdbc").options(Map(
"url" -> "jdbc:mysql://localhost/foo", "dbtable" -> "foo.bar2")
).save("foo.bar2")
यह काम नहीं करता है - मैं इस त्रुटि के साथ अंत:
java.lang.RuntimeException: org.apache.spark.sql.execution.datasources.jdbc.DefaultSource does not allow create table as select.
at scala.sys.package$.error(package.scala:27)
at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.apply(ResolvedDataSource.scala:200)
मैं अगर यकीन नहीं है मैं कुछ गलत कर रहा हूं (उदाहरण के लिए जेडीबीसीआरडीडी के बजाय यह डिफ़ॉल्ट स्रोत का समाधान क्यों कर रहा है?) या यदि मौजूदा MySQL डेटाबेस को लिखना स्पार्क के डेटाफ्रेम एपीआई का उपयोग करना संभव नहीं है।
यह समस्या का स्रोत नहीं है लेकिन आपके उदाहरण में 'लोड' कॉल गुम है। – zero323