मैं अजगर में चिंगारी सीख रहा हूँ। मेरे पास एक JSON फ़ाइल निम्नानुसार है:
{
"_class":"fdsfsdfsdfds",
"n":"test ccorona",
"fn":"ccorona",
"ln":"ccorona",
"un":"ccorona",
"p":"line",
"g":"ccorona",
"l":"ccorona",
"e":"ccorona",
},
और बस यह कोड है:
df = spark.read.json("1.json")
df.show()
जब मैं शो चलाता हूं तो मुझे यह संदेश मिला
pyspark.sql.utils.AnalysisException: Since Spark 2.3, the queries from raw JSON/CSV files are disallowed when the
referenced columns only include the internal corrupt record column
(named _corrupt_record by default). For example:
spark.read.schema(schema).json(file).filter($"_corrupt_record".isNotNull).count()
and spark.read.schema(schema).json(file).select("_corrupt_record").show().
Instead, you can cache or save the parsed results and then send the same query.
For example, val df = spark.read.schema(schema).json(file).cache() and then
df.filter($"_corrupt_record".isNotNull).count().;
भी
df.printSchema()
root
|-- _corrupt_record: string (nullable = true)
और यह भी
df.select("fn")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/spark/python/pyspark/sql/dataframe.py", line 1421, in select
jdf = self._jdf.select(self._jcols(*cols))
File "/opt/spark/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py", line 1304, in __call__
File "/opt/spark/python/pyspark/sql/utils.py", line 134, in deco
raise_from(converted)
File "<string>", line 3, in raise_from
pyspark.sql.utils.AnalysisException: cannot resolve '`fn`' given input columns: [_corrupt_record];;
'Project ['fn]
+- Relation[_corrupt_record#168] json
मैं स्पार्क में JSON sqlContext के लिए एकाधिक पंक्तियों से कैसे पढ़ सकता हूं?
0
ben
6 अक्टूबर 2020, 12:04
1 उत्तर
सबसे बढ़िया उत्तर
इस तरह आप मल्टीलाइन JSON पढ़ते हैं:
df = spark.read.option("multiLine", "true").option("mode", "PERMISSIVE").json("1.json")
2
jayrythium
6 अक्टूबर 2020, 15:57
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।