spark處理jsonFile
按照spark的說法,這裡的jsonFile是特殊的檔案:
Note that the file that is offered as jsonFile is not a typical JSON file. Each line must contain a separate, self-contained valid JSON object. As a consequence, a regular multi-line JSON file will most often fail.
它是按行分隔多個JSON物件,否則的話就會出錯。
以下是一個jsonFile的內容:
scala> val path = "examples/src/main/resources/people.json"
path: String = examples/src/main/resources/people.json
scala> Source.fromFile(path).foreach(print)
{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}
可以獲取到一個SchemaRDD:
scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)
scala> val jsonFile = sqlContext.jsonFile(path)
scala> jsonFile.printSchema()
root
|-- age: integer (nullable = true)
|-- name: string (nullable = true)
針對該SchemaRDD可以做遍歷操作:
jsonFile.filter(row=>{val age=row(0).asInstanceOf[Int];age>=13&&age<=19}).collect
既然是SchemaRDD,就可以採用SQL:
scala> jsonFile.registerTempTable("people")
scala> val teenagers = sqlContext.sql("SELECT name FROM people WHERE age >= 13 AND age <= 19")
scala> teenagers.foreach(println)
相關文章
- Spark Streaming 流式處理Spark
- spark處理json資料DemoSparkJSON
- Calcite 使用原生的RDD 處理SparkSpark
- 《深入理解Spark》之sparkSQL 處理流程SparkSQL
- Spark SQL:實現日誌離線批處理SparkSQL
- 使用spark-sql處理Doris大表關聯SparkSQL
- Spark Task 的執行流程④ - task 結果的處理Spark
- Spark大資料處理框架入門(單機版)Spark大資料框架
- Spark 叢集執行任務失敗的故障處理Spark
- Spark Streaming,Flink,Storm,Kafka Streams,Samza:如何選擇流處理框架SparkORMKafka框架
- Spark在處理資料的時候,會將資料都載入到記憶體再做處理嗎?Spark記憶體
- spark-streaming-kafka透過KafkaUtils.createDirectStream的方式處理資料SparkKafka
- Spark——為資料分析處理提供更為靈活的賦能Spark
- <Zhuuu_ZZ>Spark專案之log日誌資料分析處理Spark
- 資料演算法 Hadoop/Spark大資料處理---第十六章演算法HadoopSpark大資料
- 實踐場景:解決Spark流處理產生的小檔案Spark
- 資料演算法 Hadoop/Spark大資料處理---第十二章演算法HadoopSpark大資料
- Spark如何與深度學習框架協作,處理非結構化資料Spark深度學習框架
- 深入理解Spark 2.1 Core (四):運算結果處理和容錯的原理Spark
- Spark儲存Parquet資料到Hive,對map、array、struct欄位型別的處理SparkHiveStruct型別
- 多對一處理 和一對多處理的處理
- JSP 異常處理如何處理?JS
- Spark的危機與機遇:未來必然是AI框架倒推資料處理框架SparkAI框架
- 模板處理
- 平滑處理
- 字串處理字串
- 事件處理事件
- 餘老師帶你學習大資料-Spark快速大資料處理第六章第一節Spark總體介紹大資料Spark
- Python錯誤處理和異常處理(二)Python
- APM RUEI processor處理程式hang死處理方法
- Python資料處理(二):處理 Excel 資料PythonExcel
- Python影像處理丨5種影像處理特效Python特效
- webgl 影像處理2---影像畫素處理Web
- 【故障處理】ORA-600:[13013],[5001]故障處理
- Apache Beam,批處理和流式處理的融合!Apache
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV
- Python 影像處理 OpenCV (7):影像平滑(濾波)處理PythonOpenCV
- rust學習十、異常處理(錯誤處理)Rust
- C#基礎之前處理器,異常處理C#