国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Apache Spark處理Excel文件的簡易指南

這篇具有很好參考價值的文章主要介紹了使用Apache Spark處理Excel文件的簡易指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

在日常的工作中,表格內(nèi)的工具是非常方便的x,但是當(dāng)表格變得非常多的時候,就需要一些特定的處理。Excel作為功能強(qiáng)大的數(shù)據(jù)處理軟件,廣泛應(yīng)用于各行各業(yè),從企業(yè)管理到數(shù)據(jù)分析,可謂無處不在。然而,面對大型且復(fù)雜的數(shù)據(jù),Excel的處理能力可能力不從心。

對此,我們可借助Apache Spark這一分布式計算框架,憑借其強(qiáng)大的計算與數(shù)據(jù)處理能力,快速有效地處理Excel數(shù)據(jù)。這些數(shù)據(jù)進(jìn)行一個分析,整理,篩選,排序。分析整理有用的內(nèi)容。

操作

創(chuàng)建一個spark項目,在IntelliJ IDEA中創(chuàng)建Spark項目時,默認(rèn)的目錄結(jié)構(gòu)如下:

project-root/
│
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── (Java source files)
│   │   └── scala/
│   │       └── (Scala source files)
│   └── test/
│       ├── java/
│       │   └── (Test Java source files)
│       └── scala/
│           └── (Test Scala source files)
├── resources/
│   └── (Resource files)
└── target/
    └── (Compiled output and build artifacts)

導(dǎo)入包

在build.sbt中添加操作文件的包

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % sparkVersion,
  "org.apache.spark" %% "spark-sql" % sparkVersion,
  "org.apache.spark" %% "spark-mllib" % sparkVersion,
  "org.apache.spark" %% "spark-streaming" % sparkVersion,
  "com.norbitltd" %% "spoiwo_2.12" % "1.4.1",
  "com.crealytics" %% "spark-excel" % "0.13.7",
  "com.monitorjbl" %% "xlsx-streamer" % "2.1.0"
)

測試數(shù)據(jù)

name

age

Mic

1

Andy

3

Steven

1

首先

使用Spark讀取Excel文件十分簡便。只需在DataFrame API中指定文件路徑及格式,Spark即可自動導(dǎo)入Excel文件并將其轉(zhuǎn)成DataFrame,進(jìn)而展開數(shù)據(jù)處理和分析。

代碼示例

Spark不但提供多樣的數(shù)據(jù)處理方式,更在DataFrame API中支持篩選、聚合和排序等操作。此外,內(nèi)置豐富的數(shù)據(jù)處理函數(shù)和操作符使處理Excel數(shù)據(jù)更為便捷。

package com.example.spark

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession

object SparkTest {
  def main(args: Array[String]): Unit = {
    //scala版本
    val sparkConf = new SparkConf()
    sparkConf.setMaster("local")   //本地單線程運(yùn)行
    sparkConf.setAppName("testJob")
//    val sc = new SparkContext(sparkConf)
    val spark = SparkSession.builder().config(sparkConf)
      .appName("Excel Demo")
      .getOrCreate()

    // 讀取 Excel 文件
    val df = spark.read
      .format("com.crealytics.spark.excel")
      .option("dataAddress", "'Sheet2'!A1:B2") // 可選,設(shè)置選擇數(shù)據(jù)區(qū)域 例如 A1:C2。
      .option("useHeader", "false") // 必須,是否使用表頭,false的話自己命名表頭(_c0),true則第一行為表頭
      .option("treatEmptyValuesAsNulls", "true") // 可選, 是否將空的單元格設(shè)置為null ,如果不設(shè)置為null 遇見空單元格會報錯 默認(rèn)t: true
      .option("inferSchema", "true") // 可選, default: false
      //.option("addColorColumns", "true") // 可選, default: false
      //.option("timestampFormat", "yyyy-mm-dd hh:mm:ss") // 可選, default: yyyy-mm-dd hh:mm:ss[.fffffffff]
      //.option("excerptSize", 6) // 可選, default: 10. If set and if schema inferred, number of rows to infer schema from
      //.option("workbookPassword", "pass") // 可選, default None. Requires unlimited strength JCE for older JVMs====
      //.option("maxRowsInMemory", 20) // 可選, default None. If set, uses a streaming reader which can help with big files====
      .schema(schema) // 可選, default: Either inferred schema, or all columns are Strings
//      .option("header", "true")
      .load("path/to/excel/file.xlsx")

    // 顯示 DataFrame 的內(nèi)容
    df.show()
    // +-------+---+
    // |   name|age|
    // +-------+---+
    // |    Mic| 1|
    // |   Andy| 3|
    // | Steven| 1|
    // +-------+---+
    // 將 DataFrame 寫入 Excel 文件
    df.write
      .format("com.crealytics.spark.excel")
      .option("dataAddress", "'Sheet'!A1:B2")
      .option("useHeader", "true")
      //.option("dateFormat", "yy-mmm-d") // Optional, default: yy-m-d h:mm
      //.option("timestampFormat", "mm-dd-yyyy hh:mm:ss") // Optional, default: yyyy-mm-dd hh:mm:ss.000
      .mode("append") // Optional, default: overwrite.
      .option("header", "true")
      .save("path/to/save/excel/file.xlsx")
  }


}

數(shù)據(jù)處理結(jié)束后,可將結(jié)果保存在全新Excel文件或其他格式文件中。借助DataFrame API,無論保存在本地文件系統(tǒng)還是云端,均能輕松實現(xiàn)。保留數(shù)據(jù)亦可依照需求選擇不同輸出格式,如CSV,XLSX等。

總結(jié)一下

雖然僅處理基礎(chǔ)數(shù)據(jù),但在集群環(huán)境下,Spark展現(xiàn)出優(yōu)秀的大規(guī)模數(shù)據(jù)處理能力。無論海量Excel數(shù)據(jù)還是復(fù)雜的結(jié)構(gòu)化數(shù)據(jù),都在Spark協(xié)助下,能輕松應(yīng)對并滿足各種數(shù)據(jù)處理與分析任務(wù)。

借助Apache Spark處理Excel文件,充分發(fā)揮分布式計算潛能,可讓數(shù)據(jù)處理與分析過程更為高效出色,同時也極大提升數(shù)據(jù)處理效率和準(zhǔn)確性。希望本文能讓您對Spark處理Excel有更深入了解,在實踐中更好地應(yīng)用。

引用

https://github.com/crealytics/spark-excel

最后

點贊關(guān)注評論一鍵三連,每周分享技術(shù)干貨、開源項目、實戰(zhàn)經(jīng)驗、國外優(yōu)質(zhì)文章翻譯等,您的關(guān)注將是我的更新動力

我正在參與2024騰訊技術(shù)創(chuàng)作特訓(xùn)營第五期有獎?wù)魑模靵砗臀夜戏执螵劊?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-804708.html

到了這里,關(guān)于使用Apache Spark處理Excel文件的簡易指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Apache POC(對Excel文件操作)

    Apache POI 是一個處理Miscrosoft Office各種文件格式的開源項目,我們可以使用POI在java程序中對Miscrosoft Office各種文件進(jìn)行讀寫操作 一般情況下,POI都是用于操作Excel文件。 Test讀取測試

    2024年02月07日
    瀏覽(21)
  • Apache POI | Java操作Excel文件

    Apache POI | Java操作Excel文件

    目錄 1、介紹 2、代碼示例 2.1、將數(shù)據(jù)寫入Excel文件 2.2、讀取Excel文件中的數(shù)據(jù) ??作者介紹:雙非本科大三網(wǎng)絡(luò)工程專業(yè)在讀,阿里云專家博主,專注于Java領(lǐng)域?qū)W習(xí),擅長web應(yīng)用開發(fā)、數(shù)據(jù)結(jié)構(gòu)和算法,初步涉獵Python人工智能開發(fā)和前端開發(fā)。 ??主頁:@逐夢蒼穹 ??您的一

    2024年02月20日
    瀏覽(27)
  • Apache-POI讀寫excel文件

    ApachePOI是用Java編寫的免費開源的跨平臺的JavaAPI,ApachePOI提供API給Java程序?qū)icrosoftOffice格式檔案讀和寫的功能,其中使用最多的就是使用POI操作Excel文件。 依賴導(dǎo)入: 針對不同的文檔形式來操作的時候會提供相應(yīng)的一些類 HSSF - 提供讀寫Microsoft Excel XLS格式檔案的功能 XSSF -

    2024年02月05日
    瀏覽(25)
  • Apache POI及easyExcel讀取及寫入excel文件

    目錄 1.excel 2.使用場景 3.Apache POI 4.easyExcel 5.總結(jié) 1.excel excel分為兩版,03版和07版。 03版的后綴為xls,最大有65536行。 07版的后綴為xlsx,最大行數(shù)沒有限制。 2.使用場景 將用戶信息導(dǎo)出到excel表格中。 將excel中的數(shù)據(jù)讀取到數(shù)據(jù)庫中。 3.Apache POI (1)說明 Apache POI是Apache軟件基金會

    2024年02月06日
    瀏覽(23)
  • 使用Go語言處理Excel文件的完整指南

    使用Go語言處理Excel文件的完整指南

    xcel文件是廣泛用于存儲和處理數(shù)據(jù)的常見文件格式。在Go語言中,有許多庫和工具可用于處理Excel文件。本文將介紹如何使用Go語言處理Excel文件,包括讀取、寫入和修改Excel文件,以及處理單元格、行和列等操作。無論是從頭開始創(chuàng)建Excel文件,還是從現(xiàn)有文件中提取數(shù)據(jù),本

    2024年01月18日
    瀏覽(36)
  • 【高?!緼pache Airflow Spark Provider 任意文件讀取漏洞 (CVE-2023-40272)

    【高?!緼pache Airflow Spark Provider 任意文件讀取漏洞 (CVE-2023-40272)

    Apache Airflow Spark Provider是Apache Airflow項目的一個插件,用于在Airflow中管理和調(diào)度Apache Spark作業(yè)。 受影響版本中,在JDBC連接時,由于沒有對conn_prefix參數(shù)做驗證,允許輸入\\\"?\\\"來指定參數(shù)。攻擊者可以通過構(gòu)造參數(shù)?allowLoadLocalInfile=true連接攻擊者控制的惡意mysql服務(wù)器,讀取Airfl

    2024年02月11日
    瀏覽(27)
  • Apache Spark 練習(xí)六:使用Spark分析音樂專輯數(shù)據(jù)

    本章所分析的數(shù)據(jù)來自于Kaggle公開的、人工合成的音樂專輯發(fā)行數(shù)據(jù)(https://www.kaggle.com/datasets/revilrosa/music-label-dataset)。以下,我們只針對albums.csv文件進(jìn)行分析。該數(shù)據(jù)具體包括以下字段: id: the album identifier; artist_id: the artist identifier; album_title: the title of the album; genre: the

    2024年02月15日
    瀏覽(34)
  • Spark報錯處理系列之:org.apache.spark.SparkException: Job aborted due to stage failure FileNotFoundException

    org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 312.0 failed 4 times, most recent failure: Lost task 0.3 in stage 312.0 (TID 9203,dn-005, executor 236): java.io.FileNotFoundException: File does not exist: hdfs://…/dwh/dwd/optics_i/dateti

    2024年04月25日
    瀏覽(13)
  • 蒼穹外賣集成 Apache POI Java實現(xiàn)Excel文件的讀寫下載

    蒼穹外賣集成 Apache POI Java實現(xiàn)Excel文件的讀寫下載

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    瀏覽(31)
  • Azure - 機(jī)器學(xué)習(xí):使用 Apache Spark 進(jìn)行交互式數(shù)據(jù)整理

    Azure - 機(jī)器學(xué)習(xí):使用 Apache Spark 進(jìn)行交互式數(shù)據(jù)整理

    關(guān)注TechLead,分享AI全維度知識。作者擁有10+年互聯(lián)網(wǎng)服務(wù)架構(gòu)、AI產(chǎn)品研發(fā)經(jīng)驗、團(tuán)隊管理經(jīng)驗,同濟(jì)本復(fù)旦碩,復(fù)旦機(jī)器人智能實驗室成員,阿里云認(rèn)證的資深架構(gòu)師,項目管理專業(yè)人士,上億營收AI產(chǎn)品研發(fā)負(fù)責(zé)人。 數(shù)據(jù)整理已經(jīng)成為機(jī)器學(xué)習(xí)項目中最重要的步驟之一。

    2024年02月08日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包