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

結(jié)構(gòu)化流(Structured Streaming)

這篇具有很好參考價(jià)值的文章主要介紹了結(jié)構(gòu)化流(Structured Streaming)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

結(jié)構(gòu)化流介紹

有界和無(wú)界數(shù)據(jù)

  • 有界數(shù)據(jù):
指的數(shù)據(jù)有固定的開(kāi)始和固定的結(jié)束,數(shù)據(jù)大小是固定。我們稱(chēng)之為有界數(shù)據(jù)。對(duì)于有界數(shù)據(jù),一般采用批處理方案(離線計(jì)算)

特點(diǎn):
	1-數(shù)據(jù)大小是固定
	2-程序處理有界數(shù)據(jù),程序最終一定會(huì)停止
  • 無(wú)界數(shù)據(jù):
指的數(shù)據(jù)有固定的開(kāi)始,但是沒(méi)有固定的結(jié)束。我們稱(chēng)之為無(wú)界數(shù)據(jù)
對(duì)于無(wú)界數(shù)據(jù),我們一般采用流式處理方案(實(shí)時(shí)計(jì)算)

特點(diǎn):
 	1-數(shù)據(jù)沒(méi)有明確的結(jié)束,也就是數(shù)據(jù)大小不固定
 	2-數(shù)據(jù)是源源不斷的過(guò)來(lái)
 	3-程序處理無(wú)界數(shù)據(jù),程序會(huì)一直運(yùn)行不會(huì)結(jié)束

基本介紹

結(jié)構(gòu)化流是構(gòu)建在Spark SQL處理引擎之上的一個(gè)流式的處理引擎,主要是針對(duì)無(wú)界數(shù)據(jù)的處理操作。對(duì)于結(jié)構(gòu)化流同樣也支持多種語(yǔ)言操作的API:比如 Python Java Scala SQL …

Spark的核心是RDD。RDD出現(xiàn)主要的目的就是提供更加高效的離線的迭代計(jì)算操作,RDD是針對(duì)的有界的數(shù)據(jù)集,但是為了能夠兼容實(shí)時(shí)計(jì)算的處理場(chǎng)景,提供微批處理模型,本質(zhì)上還是批處理,只不過(guò)批與批之間的處理間隔時(shí)間變短了,讓我們感覺(jué)是在進(jìn)行流式的計(jì)算操作,目前默認(rèn)的微批可以達(dá)到100毫秒一次

? 真正的流處理引擎: Flink、Storm(早期流式處理引擎)、Flume(流式數(shù)據(jù)采集)

實(shí)時(shí)數(shù)據(jù)案例–詞頻統(tǒng)計(jì)

需求:結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
代碼實(shí)現(xiàn):

import os
from pyspark.sql import SparkSession
import  pyspark.sql.functions as F

# 綁定指定的Python解釋器
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'

if __name__ == '__main__':
    # 1- 創(chuàng)建SparkSession對(duì)象
    spark = SparkSession.builder\
        .config("spark.sql.shuffle.partitions",1)\
        .appName('structured_streaming_wordcount')\
        .master('local[*]')\
        .getOrCreate()

    # 2- 數(shù)據(jù)輸入
    init_df = spark.readStream\
        .format("socket")\
        .option("host","192.168.88.161")\
        .option("port","55555")\
        .load()

    # 3- 數(shù)據(jù)處理
    result_df = init_df.select(
        F.explode(F.split('value',' ')).alias('word')
    ).groupBy('word').agg(
        F.count('word').alias('cnt')
    )

    # init_df.show()

    # 4- 數(shù)據(jù)輸出
    # 5- 啟動(dòng)流式任務(wù)
    result_df.writeStream.format('console').outputMode('complete').start().awaitTermination()

程序運(yùn)行結(jié)果:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
代碼測(cè)試操作步驟:

首先: 先下載一個(gè) nc(netcat) 命令. 通過(guò)此命令打開(kāi)一個(gè)端口號(hào), 并且可以向這個(gè)端口寫(xiě)入數(shù)據(jù)
yum -y install nc
	
執(zhí)行nc命令, 開(kāi)啟端口號(hào), 寫(xiě)入數(shù)據(jù):
nc -lk 55555

注意: 要先啟動(dòng)nc,再啟動(dòng)我們的程序

查看端口號(hào)是否被使用命令:
netstat -nlp | grep 要查詢的端口

結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
可能遇到的錯(cuò)誤:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka

結(jié)構(gòu)化流的編程模型

數(shù)據(jù)結(jié)構(gòu)

結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
在結(jié)構(gòu)化流中,我們可以將DataFrame稱(chēng)為無(wú)界的DataFrame或者無(wú)界的二維表

數(shù)據(jù)源部分

結(jié)構(gòu)化流默認(rèn)提供了多種數(shù)據(jù)源,從而可以支持不同的數(shù)據(jù)源的處理工作。目前提供了如下數(shù)據(jù)源:

  • Socket Source:網(wǎng)絡(luò)套接字?jǐn)?shù)據(jù)源,一般用于測(cè)試。也就是從網(wǎng)絡(luò)上消費(fèi)/讀取數(shù)據(jù)
  • File Source:文件數(shù)據(jù)源。讀取文件系統(tǒng),一般用于測(cè)試。如果文件夾下發(fā)生變化,有新文件產(chǎn)生,那么就會(huì)觸發(fā)程序的運(yùn)行
  • Kafka Source:Kafka數(shù)據(jù)源。也就是作為消費(fèi)者來(lái)讀取Kafka中的數(shù)據(jù)。一般用于生產(chǎn)環(huán)境。
  • Rate Source:速率數(shù)據(jù)源。一般用于測(cè)試。通過(guò)配置參數(shù),由結(jié)構(gòu)化流自動(dòng)生成測(cè)試數(shù)據(jù)。## Operation操作

對(duì)應(yīng)官網(wǎng)文檔內(nèi)容:https://spark.apache.org/docs/3.1.2/structured-streaming-programming-guide.html#input-sources
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
File Source
將目錄中寫(xiě)入的文件作為數(shù)據(jù)流讀取,支持的文件格式為:text、csv、json、orc、parquet…
相關(guān)的參數(shù):

option參數(shù) 描述說(shuō)明
maxFilesPerTrigger 每次觸發(fā)時(shí)要考慮的最大新文件數(shù) (默認(rèn): no max)
latestFirst 是否先處理最新的新文件, 當(dāng)有大量文件積壓時(shí)有用 (默認(rèn): false)
fileNameOnly 是否檢查新文件只有文件名而不是完整路徑(默認(rèn)值:false)將此設(shè)置為 true 時(shí),以下文件將被視為同一個(gè)文件,因?yàn)樗鼈兊奈募癲ataset.txt”相同: “file:///dataset.txt” “s3://a/dataset.txt " “s3n://a/b/dataset.txt” “s3a://a/b/c/dataset.txt”

讀取代碼通用格式:

sparksession.readStream
	.format('CSV|JSON|Text|Parquet|ORC...')
	.option('參數(shù)名1','參數(shù)值1')
	.option('參數(shù)名2','參數(shù)值2')
	.option('參數(shù)名N','參數(shù)值N')
	.schema(元數(shù)據(jù)信息)
	.load('需要監(jiān)聽(tīng)的目錄地址')
	
針對(duì)具體數(shù)據(jù)格式,還有對(duì)應(yīng)的簡(jiǎn)寫(xiě)API格式,例如:
	sparksession.readStream.csv(path='需要監(jiān)聽(tīng)的目錄地址',schema=元數(shù)據(jù)信息。。。)

代碼操作

import os
from pyspark.sql import SparkSession

# 綁定指定的Python解釋器
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'

if __name__ == '__main__':
    # 1- 創(chuàng)建SparkSession對(duì)象
    spark = SparkSession.builder\
        .config("spark.sql.shuffle.partitions","1")\
        .appName('file_source')\
        .master('local[*]')\
        .getOrCreate()

    # 2- 數(shù)據(jù)輸入:File Source文件數(shù)據(jù)源
    """
        File Source總結(jié)
            1- 只能監(jiān)聽(tīng)目錄,不能監(jiān)聽(tīng)具體的文件
            2- 可以通過(guò)*通配符的形式監(jiān)聽(tīng)目錄中滿足條件的文件
            3- 如果監(jiān)聽(tīng)目錄中有子目錄,那么無(wú)法監(jiān)聽(tīng)到子目錄的變化情況
    """
    init_df = spark.readStream.csv(
        path="file:///export/data/",
        sep=",",
        encoding="UTF-8",
        schema="id int,name string"
    )


    # 3- 數(shù)據(jù)處理
    # 4- 數(shù)據(jù)輸出
    # 5- 啟動(dòng)流式任務(wù)
    init_df.writeStream.format("console").outputMode("append").start().awaitTermination()

可能遇到的錯(cuò)誤一:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka

原因: 如果是文件數(shù)據(jù)源,需要手動(dòng)指定schema信息

可能遇到的錯(cuò)誤二:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka

原因: File source只能監(jiān)聽(tīng)目錄,不能監(jiān)聽(tīng)具體文件
文件數(shù)據(jù)源特點(diǎn):
1- 不能夠監(jiān)聽(tīng)具體的文件,否則會(huì)報(bào)錯(cuò)誤java.lang.IllegalArgumentException: Option 'basePath' must be a directory
2- 可以通過(guò)通配符的形式,來(lái)監(jiān)聽(tīng)目錄下的文件,符合要求的才會(huì)被讀取
3- 如果監(jiān)聽(tīng)目錄中有子目錄,那么無(wú)法監(jiān)聽(tīng)到子目錄的變化情況

Operations操作

指的是數(shù)據(jù)處理部分,該操作和Spark SQL中是完全一致??梢允褂肧QL方式進(jìn)行處理,也可以使用DSL方式進(jìn)行處理。

Sink輸出操作

在結(jié)構(gòu)化流中定義好DataFrame或者處理好DataFrame之后,調(diào)用writeStream()方法完成數(shù)據(jù)的輸出操作。在輸出的過(guò)程中,我們可以設(shè)置一些相關(guān)的屬性,然后啟動(dòng)結(jié)構(gòu)化流程序運(yùn)行。
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka

輸出模式

在進(jìn)行數(shù)據(jù)輸出的時(shí)候,必須通過(guò)outputMode來(lái)設(shè)置輸出模式。輸出模式提供了3種不同的模式:

  • 1- append模式:增量模式

    特點(diǎn):當(dāng)結(jié)構(gòu)化程序處理數(shù)據(jù)的時(shí)候,如果有了新數(shù)據(jù),才會(huì)觸發(fā)執(zhí)行。而且該模式只支持追加。不支持?jǐn)?shù)據(jù)處理階段有聚合的操作。如果有了聚合操作,直接報(bào)錯(cuò)。而且也不支持排序操作。如果有了排序,直接報(bào)錯(cuò)。

  • 2- complete模式:完全(全量)模式

    特點(diǎn):當(dāng)結(jié)構(gòu)化程序處理數(shù)據(jù)的時(shí)候,每一次都是針對(duì)全量的數(shù)據(jù)進(jìn)行處理。由于數(shù)據(jù)越來(lái)越多,所以在數(shù)據(jù)處理階段,必須要有聚合操作。如果沒(méi)有聚合操作,直接報(bào)錯(cuò)。另外還支持排序,但是不是強(qiáng)制要求。

  • 3- update模式:更新模式

    特點(diǎn):支持聚合操作。當(dāng)結(jié)構(gòu)化程序處理數(shù)據(jù)的時(shí)候,如果處理階段沒(méi)有聚合操作,該模式效果和append模式是一致。如果有了聚合操作,只會(huì)輸出有變化和新增的內(nèi)容。但是不支持排序操作,如果有了排序,直接報(bào)錯(cuò)。

append模式:

import os
from pyspark.sql import SparkSession
import  pyspark.sql.functions as F

# 綁定指定的Python解釋器
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'

if __name__ == '__main__':
    # 1- 創(chuàng)建SparkSession對(duì)象
    spark = SparkSession.builder\
        .config("spark.sql.shuffle.partitions",1)\
        .appName('structured_streaming_wordcount')\
        .master('local[*]')\
        .getOrCreate()

    # 2- 數(shù)據(jù)輸入
    init_df = spark.readStream\
        .format("socket")\
        .option("host","192.168.88.161")\
        .option("port","55555")\
        .load()

    init_df.createTempView("tmp_table")

    # 3- 數(shù)據(jù)處理
    # 正常:沒(méi)有聚合操作,也沒(méi)有排序
    result_df = spark.sql("""
        select
            explode(split(value,' ')) as word
        from tmp_table
    """)

    # 異常:有聚合操作,沒(méi)有排序
    # result_df = spark.sql("""
    #     select
    #         word,count(1) as cnt
    #     from (
    #         select
    #             explode(split(value,' ')) as word
    #         from tmp_table
    #     )
    #     group by word
    # """)

    # 異常:沒(méi)有聚合操作,有排序
    # result_df = spark.sql("""
    #     select
    #         word
    #     from (
    #         select
    #             explode(split(value,' ')) as word
    #         from tmp_table
    #     )
    #     order by word
    # """)

    # 4- 數(shù)據(jù)輸出
    # 5- 啟動(dòng)流式任務(wù)
    result_df.writeStream.format('console').outputMode('append').start().awaitTermination()

如果有了聚合操作,會(huì)報(bào)如下錯(cuò)誤:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
如果有了排序操作,會(huì)報(bào)如下錯(cuò)誤:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka

complete模式:

import os
from pyspark.sql import SparkSession
import  pyspark.sql.functions as F

# 綁定指定的Python解釋器
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'

if __name__ == '__main__':
    # 1- 創(chuàng)建SparkSession對(duì)象
    spark = SparkSession.builder\
        .config("spark.sql.shuffle.partitions",1)\
        .appName('structured_streaming_wordcount')\
        .master('local[*]')\
        .getOrCreate()

    # 2- 數(shù)據(jù)輸入
    init_df = spark.readStream\
        .format("socket")\
        .option("host","192.168.88.161")\
        .option("port","55555")\
        .load()

    init_df.createTempView("tmp_table")

    # 3- 數(shù)據(jù)處理
    # 異常:沒(méi)有聚合操作
    # result_df = spark.sql("""
    #     select
    #         explode(split(value,' ')) as word
    #     from tmp_table
    # """)

    # 正常:有聚合操作,沒(méi)有排序
    result_df = spark.sql("""
        select
            word,count(1) as cnt
        from (
            select
                explode(split(value,' ')) as word
            from tmp_table
        )
        group by word
        order by cnt
    """)

    # 4- 數(shù)據(jù)輸出
    # 5- 啟動(dòng)流式任務(wù)
    result_df.writeStream.format('console').outputMode('complete').start().awaitTermination()

如果沒(méi)有聚合操作,會(huì)報(bào)如下錯(cuò)誤:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka
update模式:

import os
from pyspark.sql import SparkSession
import  pyspark.sql.functions as F

# 綁定指定的Python解釋器
os.environ['SPARK_HOME'] = '/export/server/spark'
os.environ['PYSPARK_PYTHON'] = '/root/anaconda3/bin/python3'
os.environ['PYSPARK_DRIVER_PYTHON'] = '/root/anaconda3/bin/python3'

if __name__ == '__main__':
    # 1- 創(chuàng)建SparkSession對(duì)象
    spark = SparkSession.builder\
        .config("spark.sql.shuffle.partitions",1)\
        .appName('structured_streaming_wordcount')\
        .master('local[*]')\
        .getOrCreate()

    # 2- 數(shù)據(jù)輸入
    init_df = spark.readStream\
        .format("socket")\
        .option("host","192.168.88.161")\
        .option("port","55555")\
        .load()

    init_df.createTempView("tmp_table")

    # 3- 數(shù)據(jù)處理
    # 正常:沒(méi)有聚合操作
    result_df = spark.sql("""
        select
            explode(split(value,' ')) as word
        from tmp_table
    """)

    # 正常:有聚合操作,沒(méi)有排序
    # result_df = spark.sql("""
    #     select
    #         word,count(1) as cnt
    #     from (
    #         select
    #             explode(split(value,' ')) as word
    #         from tmp_table
    #     )
    #     group by word
    # """)

    # 異常:有排序
    result_df = spark.sql("""
        select
            word
        from (
            select
                explode(split(value,' ')) as word
            from tmp_table
        )
        order by word
    """)

    # 4- 數(shù)據(jù)輸出
    # 5- 啟動(dòng)流式任務(wù)
    result_df.writeStream.format('console').outputMode('update').start().awaitTermination()

如果有了排序操作,會(huì)報(bào)如下錯(cuò)誤:
結(jié)構(gòu)化流(Structured Streaming),sql,大數(shù)據(jù),spark,kafka文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-798844.html

到了這里,關(guān)于結(jié)構(gòu)化流(Structured Streaming)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 數(shù)據(jù)管理系統(tǒng)-week6-結(jié)構(gòu)化查詢語(yǔ)言(SQL)簡(jiǎn)介

    Structured Query Language(SQL),本節(jié)課內(nèi)容比較輕松,主要介紹了SQL的結(jié)構(gòu)化查詢語(yǔ)言,簡(jiǎn)單介紹的一些SQL的特性,功能,格式化等內(nèi)容 ?由IBM在20世紀(jì)70年代中期開(kāi)發(fā)和實(shí)施 ?最初稱(chēng)為SEQUEL(結(jié)構(gòu)化英語(yǔ)查詢語(yǔ)言) ?首次實(shí)施:IBM的SYSTEM R(DB/2,UDB)、Oracle SQL ?1986年的第一個(gè)

    2024年01月16日
    瀏覽(32)
  • SQL:結(jié)構(gòu)化查詢語(yǔ)言

    SQL:結(jié)構(gòu)化查詢語(yǔ)言

    創(chuàng)建一張表并插入數(shù)據(jù): 以下常用函數(shù)以MySQL為例,其它數(shù)據(jù)庫(kù)類(lèi)似

    2024年02月06日
    瀏覽(30)
  • 結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)

    結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)

    結(jié)構(gòu)化的數(shù)據(jù)一般是指可以使用關(guān)系型數(shù)據(jù)庫(kù)表示和存儲(chǔ),可以用二維表來(lái)邏輯表達(dá)實(shí)現(xiàn)的數(shù)據(jù)。例如:需要多少個(gè)屬性,每個(gè)屬性什么類(lèi)型,每個(gè)屬性的取值范圍等等,類(lèi)似下圖所示, 提前定義好了一個(gè)二維矩陣的元數(shù)據(jù) ,包含有列名稱(chēng)、列的類(lèi)型、列的約束等: ? 可見(jiàn)

    2024年02月09日
    瀏覽(93)
  • MySql003——SQL(結(jié)構(gòu)化查詢語(yǔ)言)基礎(chǔ)知識(shí)

    DB:數(shù)據(jù)庫(kù)(Database) 即存儲(chǔ)數(shù)據(jù)的“倉(cāng)庫(kù)”,其本質(zhì)是一個(gè) 文件系統(tǒng) 。它保存了一系列有組織的數(shù)據(jù)。 DBMS:數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System) 是一種操縱和管理數(shù)據(jù)庫(kù)的 大型軟件 (例如我們前面下載的MySQL軟件),用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一

    2024年02月15日
    瀏覽(70)
  • 【案例】--非結(jié)構(gòu)化數(shù)據(jù)中臺(tái)案例

    最近接觸一個(gè)平臺(tái)架構(gòu)的討論,公司需要一個(gè)非結(jié)構(gòu)化數(shù)據(jù)中臺(tái),理念是能夠滿足存儲(chǔ)隨時(shí)變換的非結(jié)構(gòu)化數(shù)據(jù),另外引入低代碼思想。由于非結(jié)構(gòu)化數(shù)據(jù)是未知的,不同業(yè)務(wù)的數(shù)據(jù)是不同,為了更好的使用,低代碼就需要一種方案,在盡量不開(kāi)發(fā)代碼下滿足相關(guān)需求變化,

    2024年02月10日
    瀏覽(28)
  • 什么是T-SQL編程?T-SQL是Transact-SQL的縮寫(xiě),是一種擴(kuò)展了SQL(結(jié)構(gòu)化查詢語(yǔ)言)的編程語(yǔ)言,用于Microsoft SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)中的數(shù)據(jù)管理和操作。T-

    什么是T-SQL編程? T-SQL是Transact-SQL的縮寫(xiě),是一種 擴(kuò)展了SQL(結(jié)構(gòu)化查詢語(yǔ)言) 的編程語(yǔ)言,用于Microsoft?SQL?Server數(shù)據(jù)庫(kù)管理系統(tǒng)中的數(shù)據(jù)管理和操作。T-SQL支持創(chuàng)建 存儲(chǔ)過(guò)程、觸發(fā)器、函數(shù) 等高級(jí)特性,能夠更加靈活地進(jìn)行數(shù)據(jù)操作和處理?;镜腡-SQL語(yǔ)法與標(biāo)準(zhǔn)SQL很相

    2024年01月21日
    瀏覽(100)
  • 【跟小嘉學(xué) Rust 編程】五、使用結(jié)構(gòu)體關(guān)聯(lián)結(jié)構(gòu)化數(shù)據(jù)

    【跟小嘉學(xué) Rust 編程】一、Rust 編程基礎(chǔ) 【跟小嘉學(xué) Rust 編程】二、Rust 包管理工具使用 【跟小嘉學(xué) Rust 編程】三、Rust 的基本程序概念 【跟小嘉學(xué) Rust 編程】四、理解 Rust 的所有權(quán)概念 【跟小嘉學(xué) Rust 編程】五、使用結(jié)構(gòu)體關(guān)聯(lián)結(jié)構(gòu)化數(shù)據(jù) 本章節(jié)講解一種自定義數(shù)據(jù)類(lèi)型

    2024年02月10日
    瀏覽(33)
  • python序列化和結(jié)構(gòu)化數(shù)據(jù)詳解

    序列化和結(jié)構(gòu)化數(shù)據(jù)是計(jì)算機(jī)程序中非常重要的概念,它們的原理和應(yīng)用在許多應(yīng)用程序中都是必不可少的。Python作為一種高級(jí)編程語(yǔ)言,在序列化和結(jié)構(gòu)化數(shù)據(jù)方面提供了很多優(yōu)秀的解決方案。在本文中,我們將詳細(xì)介紹Python中序列化和結(jié)構(gòu)化數(shù)據(jù)的相關(guān)概念和應(yīng)用。 1.

    2024年02月08日
    瀏覽(28)
  • Spark Structured Streaming使用教程

    Spark Structured Streaming使用教程

    Structured Streaming是一個(gè)基于Spark SQL引擎的可擴(kuò)展和容錯(cuò)流處理引擎,Spark SQL引擎將負(fù)責(zé)增量和連續(xù)地運(yùn)行它,并在流數(shù)據(jù)繼續(xù)到達(dá)時(shí)更新最終結(jié)果。 Structured Streaming把持續(xù)不斷的流式數(shù)據(jù)當(dāng)做一個(gè)不斷追加的表,這使得新的流處理模型與批處理模型非常相似。您將把流計(jì)算表

    2024年02月03日
    瀏覽(27)
  • 一種使得大模型輸出結(jié)構(gòu)化數(shù)據(jù)的簡(jiǎn)易方法

    一種使得大模型輸出結(jié)構(gòu)化數(shù)據(jù)的簡(jiǎn)易方法

    最近在用大模型跑一些數(shù)據(jù),于是就不可避免的遇到了如何讓大模型輸出的格式便于處理這個(gè)問(wèn)題。經(jīng)過(guò)一些研究發(fā)現(xiàn)了一套比較有用的方法,在這里總結(jié)一下。 任務(wù)是這樣的,我需要用大模型(比如ChatGPT,ChatGLM等等)對(duì)文本進(jìn)行名詞提取。輸入一段文本,我需要大模型理

    2024年02月16日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包