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 Streaming 圖片處理案例介紹Spark
- Spark SQL:實現日誌離線批處理SparkSQL
- 使用Spark和Cassandra進行資料處理(一)Spark
- 使用spark-sql處理Doris大表關聯SparkSQL
- Spark Task 的執行流程④ - task 結果的處理Spark
- Spark大資料處理框架入門(單機版)Spark大資料框架
- Spark2 檔案處理和jar包執行SparkJAR
- Apache Spark:大資料處理統一引擎ApacheSpark大資料
- Spark 叢集執行任務失敗的故障處理Spark
- 基於Spark的大資料實時處理開課Spark大資料
- 使用R和Apache Spark處理大規模資料 [session]ApacheSparkSession
- Spark2 Dataset DataFrame空值null,NaN判斷和處理SparkNullNaN
- 使用Spark MLlib訓練和提供自然語言處理模型Spark自然語言處理模型
- 流式大資料處理的三種框架:Storm,Spark和Samza大資料框架ORMSpark
- Spark在處理資料的時候,會將資料都載入到記憶體再做處理嗎?Spark記憶體
- Spark——為資料分析處理提供更為靈活的賦能Spark
- <Zhuuu_ZZ>Spark專案之log日誌資料分析處理Spark
- Spark Streaming,Flink,Storm,Kafka Streams,Samza:如何選擇流處理框架SparkORMKafka框架
- spark-streaming-kafka透過KafkaUtils.createDirectStream的方式處理資料SparkKafka
- 三個大資料處理框架:Storm,Spark和Samza介紹比較大資料框架ORMSpark
- Hadoop與Spark等資料處理系統哪個是最好的?HadoopSpark
- 實踐場景:解決Spark流處理產生的小檔案Spark
- Spark如何與深度學習框架協作,處理非結構化資料Spark深度學習框架
- Spark叢集資料處理速度慢(資料本地化問題)Spark
- 資料演算法 Hadoop/Spark大資料處理---第十六章演算法HadoopSpark大資料
- 深入理解Spark 2.1 Core (四):運算結果處理和容錯的原理Spark
- Spark儲存Parquet資料到Hive,對map、array、struct欄位型別的處理SparkHiveStruct型別
- 資料演算法 Hadoop/Spark大資料處理---第十二章演算法HadoopSpark大資料
- Docker+Spark+Jupyter=文字資料處理邏輯測試平臺容器化DockerSpark
- 多對一處理 和一對多處理的處理
- Spark的危機與機遇:未來必然是AI框架倒推資料處理框架SparkAI框架
- Spark 2.3重磅釋出:欲與Flink爭高下,引入持續流處理Spark
- JSP 異常處理如何處理?JS
- windows批處理之一:字串處理Windows字串