chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spark SQL的概念及查詢方式

數(shù)據(jù)分析與開發(fā) ? 來源:大數(shù)據(jù)技術(shù)與架構(gòu) ? 作者:大數(shù)據(jù)技術(shù)與架構(gòu) ? 2021-09-02 15:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、Spark SQL的概念理解

Spark SQL是spark套件中一個模板,它將數(shù)據(jù)的計算任務(wù)通過SQL的形式轉(zhuǎn)換成了RDD的計算,類似于Hive通過SQL的形式將數(shù)據(jù)的計算任務(wù)轉(zhuǎn)換成了MapReduce。

Spark SQL的特點:

和Spark Core的無縫集成,可以在寫整個RDD應(yīng)用的時候,配置Spark SQL來完成邏輯實現(xiàn)。

統(tǒng)一的數(shù)據(jù)訪問方式,Spark SQL提供標(biāo)準(zhǔn)化的SQL查詢。

Hive的繼承,Spark SQL通過內(nèi)嵌的hive或者連接外部已經(jīng)部署好的hive案例,實現(xiàn)了對hive語法的繼承和操作。

標(biāo)準(zhǔn)化的連接方式,Spark SQL可以通過啟動thrift Server來支持JDBC、ODBC的訪問,將自己作為一個BI Server使用

Spark SQL數(shù)據(jù)抽象:

RDD(Spark1.0)-》DataFrame(Spark1.3)-》DataSet(Spark1.6)

Spark SQL提供了DataFrame和DataSet的數(shù)據(jù)抽象

DataFrame就是RDD+Schema,可以認(rèn)為是一張二維表格,劣勢在于編譯器不進(jìn)行表格中的字段的類型檢查,在運行期進(jìn)行檢查

DataSet是Spark最新的數(shù)據(jù)抽象,Spark的發(fā)展會逐步將DataSet作為主要的數(shù)據(jù)抽象,弱化RDD和DataFrame.DataSet包含了DataFrame所有的優(yōu)化機(jī)制。除此之外提供了以樣例類為Schema模型的強(qiáng)類型

DataFrame=DataSet[Row]

DataFrame和DataSet都有可控的內(nèi)存管理機(jī)制,所有數(shù)據(jù)都保存在非堆上,都使用了catalyst進(jìn)行SQL的優(yōu)化。

Spark SQL客戶端查詢:

可以通過Spark-shell來操作Spark SQL,spark作為SparkSession的變量名,sc作為SparkContext的變量名

可以通過Spark提供的方法讀取json文件,將json文件轉(zhuǎn)換成DataFrame

可以通過DataFrame提供的API來操作DataFrame里面的數(shù)據(jù)。

可以通過將DataFrame注冊成為一個臨時表的方式,來通過Spark.sql方法運行標(biāo)準(zhǔn)的SQL語句來查詢。

二、Spark SQL查詢方式

DataFrame查詢方式

DataFrame支持兩種查詢方式:一種是DSL風(fēng)格,另外一種是SQL風(fēng)格

(1)、DSL風(fēng)格:

需要引入import spark.implicit. _ 這個隱式轉(zhuǎn)換,可以將DataFrame隱式轉(zhuǎn)換成RDD

(2)、SQL風(fēng)格:

a、需要將DataFrame注冊成一張表格,如果通過CreateTempView這種方式來創(chuàng)建,那么該表格Session有效,如果通過CreateGlobalTempView來創(chuàng)建,那么該表格跨Session有效,但是SQL語句訪問該表格的時候需要加上前綴global_temp

b、需要通過sparkSession.sql方法來運行你的SQL語句

DataSet查詢方式

定義一個DataSet,先定義一個Case類

三、DataFrame、Dataset和RDD互操作

RDD-》DataFrame

普通方式:例如rdd.map(para(para(0).trim(),para(1).trim().toInt)).toDF(“name”,“age”)

通過反射來設(shè)置schema,例如:

#通過反射設(shè)置schema,數(shù)據(jù)集是spark自帶的people.txt,路徑在下面的代碼中case class Person(name:String,age:Int)

val peopleDF=spark.sparkContext.textFile(“file:///root/spark/spark2.4.1/examples/src/main/resources/people.txt”).map(_.split(“,”)).map(para=》Person(para(0).trim,para(1).trim.toInt)).toDF

peopleDF.show

8a20a542-0bb0-11ec-8fb8-12bb97331649.png

#注冊成一張臨時表

peopleDF.createOrReplaceTempView(“persons”)

val teen=spark.sql(“select name,age from persons where age between 13 and 29”)

teen.show

8a301b1c-0bb0-11ec-8fb8-12bb97331649.png

這時teen是一張表,每一行是一個row對象,如果需要訪問Row對象中的每一個元素,可以通過下標(biāo) row(0);你也可以通過列名 row.getAs[String](“name”)

8a3be46a-0bb0-11ec-8fb8-12bb97331649.png

也可以使用getAs方法:

8a45a978-0bb0-11ec-8fb8-12bb97331649.png

3、通過編程的方式來設(shè)置schema,適用于編譯器不能確定列的情況

val peopleRDD=spark.sparkContext.textFile(“file:///root/spark/spark2.4.1/examples/src/main/resources/people.txt”)

val schemaString=“name age”

val filed=schemaString.split(“ ”).map(filename=》 org.apache.spark.sql.types.StructField(filename,org.apache.spark.sql.types.StringType,nullable = true))

val schema=org.apache.spark.sql.types.StructType(filed)

peopleRDD.map(_.split(“,”)).map(para=》org.apache.spark.sql.Row(para(0).trim,para(1).trim))

val peopleDF=spark.createDataFrame(res6,schema)

peopleDF.show

8a52119a-0bb0-11ec-8fb8-12bb97331649.png

8a5ddf02-0bb0-11ec-8fb8-12bb97331649.png

8a6a9cb0-0bb0-11ec-8fb8-12bb97331649.png

DataFrame-》RDD

dataFrame.rdd

RDD-》DataSet

rdd.map(para=》 Person(para(0).trim(),para(1).trim().toInt)).toDS

DataSet-》DataSet

dataSet.rdd

DataFrame -》 DataSet

dataFrame.to[Person]

DataSet -》 DataFrame

dataSet.toDF

四、用戶自定義函數(shù)

用戶自定義UDF函數(shù)

通過spark.udf功能用戶可以自定義函數(shù)

自定義udf函數(shù):

通過spark.udf.register(name,func)來注冊一個UDF函數(shù),name是UDF調(diào)用時的標(biāo)識符,fun是一個函數(shù),用于處理字段。

需要將一個DF或者DS注冊為一個臨時表

通過spark.sql去運行一個SQL語句,在SQL語句中可以通過name(列名)方式來應(yīng)用UDF函數(shù)

用戶自定義聚合函數(shù)

1. 弱類型用戶自定義聚合函數(shù)

新建一個Class 繼承UserDefinedAggregateFunction ,然后復(fù)寫方法:

//聚合函數(shù)需要輸入?yún)?shù)的數(shù)據(jù)類型

override def inputSchema: StructType = ???

//可以理解為保存聚合函數(shù)業(yè)務(wù)邏輯數(shù)據(jù)的一個數(shù)據(jù)結(jié)構(gòu)

override def bufferSchema: StructType = ???

// 返回值的數(shù)據(jù)類型

override def dataType: DataType = ???

// 對于相同的輸入一直有相同的輸出

override def deterministic: Boolean = true

//用于初始化你的數(shù)據(jù)結(jié)構(gòu)

override def initialize(buffer: MutableAggregationBuffer): Unit = ???

//用于同分區(qū)內(nèi)Row對聚合函數(shù)的更新操作

override def update(buffer: MutableAggregationBuffer, input: Row): Unit = ???

//用于不同分區(qū)對聚合結(jié)果的聚合。

override def merge(buffer1: MutableAggregationBuffer, buffer2: Row): Unit = ???

//計算最終結(jié)果

override def evaluate(buffer: Row): Any = ???

你需要通過spark.udf.resigter去注冊你的UDAF函數(shù)。

需要通過spark.sql去運行你的SQL語句,可以通過 select UDAF(列名) 來應(yīng)用你的用戶自定義聚合函數(shù)。

2、強(qiáng)類型用戶自定義聚合函數(shù)

新建一個class,繼承Aggregator[Employee, Average, Double],其中Employee是在應(yīng)用聚合函數(shù)的時候傳入的對象,Average是聚合函數(shù)在運行的時候內(nèi)部需要的數(shù)據(jù)結(jié)構(gòu),Double是聚合函數(shù)最終需要輸出的類型。這些可以根據(jù)自己的業(yè)務(wù)需求去調(diào)整。復(fù)寫相對應(yīng)的方法:

//用于定義一個聚合函數(shù)內(nèi)部需要的數(shù)據(jù)結(jié)構(gòu)

override def zero: Average = ???

//針對每個分區(qū)內(nèi)部每一個輸入來更新你的數(shù)據(jù)結(jié)構(gòu)

override def reduce(b: Average, a: Employee): Average = ???

//用于對于不同分區(qū)的結(jié)構(gòu)進(jìn)行聚合

override def merge(b1: Average, b2: Average): Average = ???

//計算輸出

override def finish(reduction: Average): Double = ???

//用于數(shù)據(jù)結(jié)構(gòu)他的轉(zhuǎn)換

override def bufferEncoder: Encoder[Average] = ???

//用于最終結(jié)果的轉(zhuǎn)換

override def outputEncoder: Encoder[Double] = ???

新建一個UDAF實例,通過DF或者DS的DSL風(fēng)格語法去應(yīng)用。

五、Spark SQL和Hive的繼承

1、內(nèi)置Hive

Spark內(nèi)置有Hive,Spark2.1.1 內(nèi)置的Hive是1.2.1。

需要將core-site.xml和hdfs-site.xml 拷貝到spark的conf目錄下。如果Spark路徑下發(fā)現(xiàn)metastore_db,需要刪除【僅第一次啟動的時候】。

在你第一次啟動創(chuàng)建metastore的時候,你需要指定spark.sql.warehouse.dir這個參數(shù), 比如:bin/spark-shell --conf spark.sql.warehouse.dir=hdfs://master01:9000/spark_warehouse

注意,如果你在load數(shù)據(jù)的時候,需要將數(shù)據(jù)放到HDFS上。

2、外部Hive(這里主要使用這個方法)

需要將hive-site.xml 拷貝到spark的conf目錄下。

如果hive的metestore使用的是mysql數(shù)據(jù)庫,那么需要將mysql的jdbc驅(qū)動包放到spark的jars目錄下。

可以通過spark-sql或者spark-shell來進(jìn)行sql的查詢。完成和hive的連接。

8a76fc9e-0bb0-11ec-8fb8-12bb97331649.png

這就是hive里面的表

8a89228e-0bb0-11ec-8fb8-12bb97331649.png

六、Spark SQL的數(shù)據(jù)源

1、輸入

對于Spark SQL的輸入需要使用sparkSession.read方法

通用模式 sparkSession.read.format(“json”).load(“path”) 支持類型:parquet、json、text、csv、orc、jdbc

專業(yè)模式 sparkSession.read.json、 csv 直接指定類型。

2、輸出

對于Spark SQL的輸出需要使用 sparkSession.write方法

通用模式 dataFrame.write.format(“json”).save(“path”) 支持類型:parquet、json、text、csv、orc

專業(yè)模式 dataFrame.write.csv(“path”) 直接指定類型

如果你使用通用模式,spark默認(rèn)parquet是默認(rèn)格式、sparkSession.read.load 加載的默認(rèn)是parquet格式dataFrame.write.save也是默認(rèn)保存成parquet格式。

如果需要保存成一個text文件,那么需要dataFrame里面只有一列(只需要一列即可)。

七、Spark SQL實戰(zhàn)

1、數(shù)據(jù)說明

這里有三個數(shù)據(jù)集,合起來大概有幾十萬條數(shù)據(jù),是關(guān)于貨品交易的數(shù)據(jù)集。

8aa849d4-0bb0-11ec-8fb8-12bb97331649.png

2、任務(wù)

這里有三個需求:

計算所有訂單中每年的銷售單數(shù)、銷售總額

計算所有訂單每年最大金額訂單的銷售額

計算所有訂單中每年最暢銷貨品

3、步驟

1. 加載數(shù)據(jù)

tbStock.txt

#代碼case class tbStock(ordernumber:String,locationid:String,dateid:String) extends Serializable

val tbStockRdd=spark.sparkContext.textFile(“file:///root/dataset/tbStock.txt”)

val tbStockDS=tbStockRdd.map(_.split(“,”)).map(attr=》tbStock(attr(0),attr(1),attr(2))).toDS

tbStockDS.show()

8ab2028a-0bb0-11ec-8fb8-12bb97331649.png8ac01d7a-0bb0-11ec-8fb8-12bb97331649.png8ad1cfc0-0bb0-11ec-8fb8-12bb97331649.png

8adee8f4-0bb0-11ec-8fb8-12bb97331649.png

tbStockDetail.txt

case class tbStockDetail(ordernumber:String,rownum:Int,itemid:String,number:Int,price:Double,amount:Double) extends Serializable

val tbStockDetailRdd=spark.sparkContext.textFile(“file:///root/dataset/tbStockDetail.txt”)

val tbStockDetailDS=tbStockDetailRdd.map(_.split(“,”)).map(attr=》tbStockDetail(attr(0),attr(1).trim().toInt,attr(2),attr(3).trim().toInt,attr(4).trim().toDouble,attr(5).trim().toDouble)).toDS

tbStockDetailDS.show()

8af1d2de-0bb0-11ec-8fb8-12bb97331649.png8b00fd68-0bb0-11ec-8fb8-12bb97331649.png

8b0bcd88-0bb0-11ec-8fb8-12bb97331649.png

8b305a72-0bb0-11ec-8fb8-12bb97331649.png

tbDate.txt

case class tbDate(dateid:String,years:Int,theyear:Int,month:Int,day:Int,weekday:Int,week:Int,quarter:Int,period:Int,halfmonth:Int) extends Serializable

val tbDateRdd=spark.sparkContext.textFile(“file:///root/dataset/tbDate.txt”)

val tbDateDS=tbDateRdd.map(_.split(“,”)).map(attr=》tbDate(attr(0),attr(1).trim().toInt,attr(2).trim().toInt,attr(3).trim().toInt,attr(4).trim().toInt,attr(5).trim().toInt,attr(6).trim().toInt,attr(7).trim().toInt,attr(8).trim().toInt,attr(9).trim().toInt)).toDS

tbDateDS.show()

8b45157a-0bb0-11ec-8fb8-12bb97331649.png8b5182f6-0bb0-11ec-8fb8-12bb97331649.png

8b638f14-0bb0-11ec-8fb8-12bb97331649.png

8b7541be-0bb0-11ec-8fb8-12bb97331649.png

2. 注冊表

tbStockDS.createOrReplaceTempView(“tbStock”)

tbDateDS.createOrReplaceTempView(“tbDate”)

tbStockDetailDS.createOrReplaceTempView(“tbStockDetail”)

8b829b66-0bb0-11ec-8fb8-12bb97331649.png

3. 解析表

計算所有訂單中每年的銷售單數(shù)、銷售總額

#sql語句

select c.theyear,count(distinct a.ordernumber),sum(b.amount)

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

join tbDate c on a.dateid=c.dateid

group by c.theyear

order by c.theyear

8b8fb152-0bb0-11ec-8fb8-12bb97331649.png

計算所有訂單每年最大金額訂單的銷售額

a、先統(tǒng)計每年每個訂單的銷售額

select a.dateid,a.ordernumber,sum(b.amount) as SumOfAmount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

group by a.dateid,a.ordernumber

8ba32660-0bb0-11ec-8fb8-12bb97331649.png

b、計算最大金額訂單的銷售額

select d.theyear,c.SumOfAmount as SumOfAmount

from

(select a.dateid,a.ordernumber,sum(b.amount) as SumOfAmount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

group by a.dateid,a.ordernumber) c

join tbDate d on c.dateid=d.dateid

group by d.theyear

order by theyear desc

8bb0abfa-0bb0-11ec-8fb8-12bb97331649.png

計算所有訂單中每年最暢銷貨品

a、求出每年每個貨品的銷售額

select c.theyear,b.itemid,sum(b.amount) as SumOfAmount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

join tbDate c on a.dateid=c.dateid

group by c.theyear,b.itemid

8bc427c0-0bb0-11ec-8fb8-12bb97331649.png

b、在a的基礎(chǔ)上,統(tǒng)計每年單個貨品的最大金額

select d.theyear,max(d.SumOfAmount) as MaxOfAmount

from

(select c.theyear,b.itemid,sum(b.amount) as SumOfAmount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

join tbDate c on a.dateid=c.dateid

group by c.theyear,b.itemid) d

group by theyear

8bd5482a-0bb0-11ec-8fb8-12bb97331649.png

c、用最大銷售額和統(tǒng)計好的每個貨品的銷售額join,以及用年join,集合得到最暢銷貨品那一行信息

select distinct e.theyear,e.itemid,f.maxofamount

from

(select c.theyear,b.itemid,sum(b.amount) as sumofamount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

join tbDate c on a.dateid=c.dateid

group by c.theyear,b.itemid) e

join

(select d.theyear,max(d.sumofamount) as maxofamount

from

(select c.theyear,b.itemid,sum(b.amount) as sumofamount

from tbStock a

join tbStockDetail b on a.ordernumber=b.ordernumber

join tbDate c on a.dateid=c.dateid

group by c.theyear,b.itemid) d

group by d.theyear) f on e.theyear=f.theyear

and e.sumofamount=f.maxofamount order by e.theyear

8be25894-0bb0-11ec-8fb8-12bb97331649.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7347

    瀏覽量

    94999
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    807

    瀏覽量

    46907
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67815
  • RDD
    RDD
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8186

原文標(biāo)題:Spark SQL 重點知識總結(jié)

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    NineData 2026年3月功能上新:支持飛書外部審批,增強(qiáng)慢查詢分析與數(shù)據(jù)復(fù)制能力

    NineData智能數(shù)據(jù)管理平臺2026年3月新功能發(fā)布,圍繞數(shù)據(jù)庫 DevOps、慢查詢分析、數(shù)據(jù)歸檔清理與數(shù)據(jù)復(fù)制持續(xù)升級:新增飛書 Lark 外部審批和多渠道消息通知,慢查詢分析擴(kuò)展支持阿里云
    的頭像 發(fā)表于 04-10 11:40 ?278次閱讀
    NineData 2026年3月功能上新:支持飛書外部審批,增強(qiáng)慢<b class='flag-5'>查詢</b>分析與數(shù)據(jù)復(fù)制能力

    MySQL慢查詢調(diào)優(yōu)指南

    MySQL慢查詢是數(shù)據(jù)庫性能問題的最常見原因。當(dāng)一條SQL語句執(zhí)行超過1秒時,就可能影響用戶體驗;超過10秒時,通常會收到用戶投訴;而超過30秒的查詢,往往意味著系統(tǒng)存在嚴(yán)重的性能問題。本文從實
    的頭像 發(fā)表于 04-09 10:01 ?152次閱讀

    MySQL數(shù)據(jù)庫慢查詢分析與優(yōu)化實戰(zhàn)

    在討論MySQL慢查詢之前,需要先明確一個關(guān)鍵前提:什么是慢查詢? 不同業(yè)務(wù)場景下,慢查詢的定義差異巨大。一個數(shù)據(jù)報表后臺的SQL執(zhí)行30秒可能屬于正常范圍,但一個訂單創(chuàng)建的數(shù)據(jù)庫操作
    的頭像 發(fā)表于 04-02 09:38 ?144次閱讀

    NineData SQL AI 智能補(bǔ)全上線:寫 SQL,不必每次都從頭敲

    NineData推出SQLAI智能補(bǔ)全功能,通過AI技術(shù)實現(xiàn)上下文感知的SQL語句智能提示。該功能不僅能補(bǔ)全關(guān)鍵字,還能根據(jù)當(dāng)前輸入內(nèi)容預(yù)測后續(xù)查詢意圖,顯著提升多表關(guān)聯(lián)、復(fù)雜條件等場景下的編寫效率
    的頭像 發(fā)表于 04-01 20:19 ?249次閱讀
    NineData <b class='flag-5'>SQL</b> AI 智能補(bǔ)全上線:寫 <b class='flag-5'>SQL</b>,不必每次都從頭敲

    SQL分析選型:DMS/DAS與NineData該如何選擇

    阿里云 DMS 的慢SQL 趨勢、DAS 的 SQL 審計能力成熟,可滿足阿里云用戶基礎(chǔ)需求。NineData 側(cè)重跨云統(tǒng)一工作臺、研發(fā)與 DBA 協(xié)同,打通慢日志分析、性能診斷、規(guī)范審核、索引建議全鏈路,更適配企業(yè)級慢查詢持續(xù)
    的頭像 發(fā)表于 03-25 17:20 ?1518次閱讀
    慢<b class='flag-5'>SQL</b>分析選型:DMS/DAS與NineData該如何選擇

    NineData 社區(qū)版的慢SQL分析,比查看日志+看EXPLAIN適合中小團(tuán)隊

    本文探討 NineData 社區(qū)版在 MySQL 慢 SQL 場景對中小團(tuán)隊的適用性。與 “查看日志 + 看 EXPLAIN” 傳統(tǒng)方式不同,它將慢 SQL 按模板聚合,能從大盤、模板、診斷等多維
    的頭像 發(fā)表于 03-17 14:07 ?105次閱讀
    NineData 社區(qū)版的慢<b class='flag-5'>SQL</b>分析,比查看日志+看EXPLAIN適合中小團(tuán)隊

    MySQL 慢 SQL 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    DBeaver Community 和 Navicat Premium Lite 都是很有價值的客戶端工具,在單條 SQL查詢和驗證上,依然是 DBA 最順手的入口。 但 NineData
    的頭像 發(fā)表于 03-17 11:53 ?112次閱讀
    MySQL 慢 <b class='flag-5'>SQL</b> 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    首屆中國NVIDIA DGX Spark黑客松大賽開啟報名

    倒計時啟動!首屆中國 NVIDIA DGX Spark 黑客松(Hackathon)將于 3 月 13 日 - 3 月 28 日正式開啟報名!本屆賽事以“算力破局、AI 落地”為核心導(dǎo)向,依托
    的頭像 發(fā)表于 03-14 16:39 ?2694次閱讀

    如何在DGX Spark上運行NVIDIA Omniverse

    首先感謝 Vigor 同學(xué)第一時間的分享,以下是具體如何在 DGX Spark 上運行 Omniverse 的方法。
    的頭像 發(fā)表于 12-17 10:13 ?887次閱讀
    如何在DGX <b class='flag-5'>Spark</b>上運行NVIDIA Omniverse

    NVIDIA DGX Spark快速入門指南

    需要選擇訪問系統(tǒng)的方式,并運行首次設(shè)置實用程序來配置所有內(nèi)容。設(shè)置完成后,可以根據(jù)喜好選擇不同的方式訪問 DGX Spark。
    的頭像 發(fā)表于 11-17 14:11 ?6952次閱讀
    NVIDIA DGX <b class='flag-5'>Spark</b>快速入門指南

    不用編程不用聯(lián)網(wǎng),實現(xiàn)倍福(BECKHOFF)PLC對接SQL數(shù)據(jù)庫,上報和查詢數(shù)據(jù)的案例

    ?IGT-DSER智能網(wǎng)關(guān)模塊,支持各種PLC、智能儀表、遠(yuǎn)程IO與數(shù)據(jù)庫之間雙向通訊,既可以讀取設(shè)備的數(shù)據(jù)上報到SQL數(shù)據(jù)庫,也可以從數(shù)據(jù)庫查詢數(shù)據(jù)后寫入到設(shè)備;數(shù)據(jù)庫軟件支持MySQL
    發(fā)表于 10-10 11:14

    數(shù)據(jù)庫慢查詢分析與SQL優(yōu)化實戰(zhàn)技巧

    今天,我將分享我在處理數(shù)千次數(shù)據(jù)庫性能問題中積累的實戰(zhàn)經(jīng)驗,幫助你系統(tǒng)掌握慢查詢分析與SQL優(yōu)化的核心技巧。無論你是剛?cè)腴T的運維新手,還是有一定經(jīng)驗的工程師,這篇文章都將為你提供實用的解決方案。
    的頭像 發(fā)表于 09-08 09:34 ?1202次閱讀

    SQL 通用數(shù)據(jù)類型

    SQL 通用數(shù)據(jù)類型 數(shù)據(jù)庫表中的每個列都要求有名稱和數(shù)據(jù)類型。Each column in a database table is required to have a name and a
    的頭像 發(fā)表于 08-18 09:46 ?837次閱讀

    產(chǎn)品詳情查詢API接口

    ? 在現(xiàn)代電子商務(wù)和軟件開發(fā)中,產(chǎn)品詳情查詢API接口扮演著至關(guān)重要的角色。它允許開發(fā)者通過編程方式從遠(yuǎn)程服務(wù)器獲取產(chǎn)品的詳細(xì)信息,如名稱、價格、描述和庫存狀態(tài)等。這種接口通?;赗ESTful架構(gòu)
    的頭像 發(fā)表于 07-24 14:39 ?688次閱讀
    產(chǎn)品詳情<b class='flag-5'>查詢</b>API接口

    使用NVIDIA GPU加速Apache Spark中Parquet數(shù)據(jù)掃描

    方式組織數(shù)據(jù),這使得 Parquet 在查詢時僅讀取所需的列,而無需掃描整行數(shù)據(jù),即可實現(xiàn)高性能的查詢和分析。高效的數(shù)據(jù)布局使 Parquet 在現(xiàn)代分析生態(tài)系統(tǒng)中成為了受歡迎的選擇,尤其是在 Apache
    的頭像 發(fā)表于 07-23 10:52 ?1202次閱讀
    使用NVIDIA GPU加速Apache <b class='flag-5'>Spark</b>中Parquet數(shù)據(jù)掃描