UDF是什么文件?
UDF是統(tǒng)一光盤格式(Universal Disc Format)的縮寫。它采用標(biāo)準(zhǔn)的封裝寫入技術(shù)(PW,Packet Writing)將CD-R當(dāng)作硬盤來使,用戶可以在光盤上修改和刪除文件。其基本原理是在進(jìn)行燒錄時(shí)先將數(shù)據(jù)打包,并在內(nèi)存中臨時(shí)建立一個(gè)特殊的文件目錄表,同時(shí)接管系統(tǒng)對(duì)光盤的訪問。被刪除的文件或文件中被修改的部分其實(shí)仍存在CD-R光盤中,修改后的部分則以單獨(dú)的數(shù)據(jù)塊寫入光盤,只不過在內(nèi)存的目錄表中,通過設(shè)定允許和不允許訪問以及特殊鏈接等重定向?qū)ぶ贩椒▽?shù)據(jù)重新組合,讓系統(tǒng)找不到“老數(shù)據(jù)”,或讓新數(shù)據(jù)替換老數(shù)據(jù),從而達(dá)到刪除與修改的目的。當(dāng)用戶結(jié)束操作后,便將新的目錄表寫回光盤并記下操作內(nèi)容以便光盤日后的讀取和數(shù)據(jù)的恢復(fù)(Undo)。這樣一來,無疑大大增加了操作的便利性。
在使用UDF時(shí),一般都可以使用Windows中的資源管理器就能進(jìn)行燒錄,不會(huì)象使用ISO映像文件進(jìn)行燒錄時(shí),每次完畢后都要進(jìn)行關(guān)閉區(qū)段(Clo Session)的操作,減少了燒錄失敗的機(jī)率。目前使用UDF技術(shù)的軟件也都支持對(duì)CD-RW盤片的燒錄,但在一些細(xì)節(jié)上有所不同,如刪除的文件真的是被刪除而不再是欺騙操作系統(tǒng)了。不過,在增加便利性的同時(shí)UDF也減少了有效存儲(chǔ)空間,而且還要事先將CD-R與CD-RW盤片進(jìn)行格式化,其中CD-RW盤片格式化后的容量要減少近100MB,所以大家要視情使用。另外,它還有一種派生的格式,即UDF/ISO,用UDF的技術(shù)制作ISO標(biāo)準(zhǔn)的光盤。
udf2.01和udf2.5有什么區(qū)別
udf2.01和udf2.5的區(qū)別如下:
1、udf2.01不支持單個(gè)大于2G的文件,udf2.5則相反;
2、udf2.01兼容性強(qiáng),UDFDOS和Win98系統(tǒng)不支持此格式,2000和xp以上系統(tǒng)和MAC系統(tǒng)支持。
hive之udf函數(shù)的使用
udf的全稱是Ur Defined Function用戶自定義函數(shù),創(chuàng)建后可以直接在lect語句中使用
使用中需要注意的是,創(chuàng)建一個(gè)udf需要繼承org.apache.hadoop.hive.ql.exec.UDF,并且要對(duì)evaluate進(jìn)行overwrite
所以開發(fā)工程需要至少加上依賴包
然后創(chuàng)建一個(gè)類繼承UDF,實(shí)現(xiàn)evaluate方法可以實(shí)現(xiàn)傳入一個(gè)數(shù)據(jù)返回一個(gè)數(shù)據(jù)的效果
下面以信息脫敏為例
以上通過調(diào)用函數(shù)傳入信息,然后數(shù)據(jù)處理后會(huì)返回一個(gè)脫敏信息。
接著需要用maven對(duì)這個(gè)進(jìn)行package,生成jar包,將文件上傳到服務(wù)器上。
以下流程注意登陸賬戶是否有權(quán)限
并建議將此jar包上傳到分布式文件系統(tǒng)上,可以參考如下命令:
hdfs dfs -put /home/hive-udf/densitization.jar /lib/hive_udf/
然后可以通過hdfs dfs -ls /lib/hive_udf/查看已上傳成功的包
然后進(jìn)入hive客戶端:可以直接在服務(wù)器上使用hive的bin包下的hive進(jìn)行直接連接,也可以是其他連接方式。
這里有兩種方法進(jìn)行創(chuàng)建,一個(gè)是創(chuàng)建臨時(shí)函數(shù),一個(gè)是創(chuàng)建永久函數(shù)
1.創(chuàng)建臨時(shí)函數(shù)
用此種方式的話,請?jiān)趕ql前加上后面兩句
add jar hdfs:///lib/hive_udf/densitization.jar;
create temporary function densitization as 'com.sfz.Densitization';
注意:這里的densitization為以后調(diào)用的函數(shù)名,com.sfz.Densitization為jar包里的類路徑。
然后可以進(jìn)行測試
lect densitization("我是傻瘋子");
最后刪除命令為:(臨時(shí)函數(shù)可以不用刪除,窗口關(guān)閉后會(huì)消失)
drop temporary function densitization;
2.創(chuàng)建永久函數(shù)
CREATE FUNCTION udf.densitization AS 'com.sfz.Densitization' USING JAR 'hdfs:///lib/hive_udf/densitization.jar';
刪除命令為DROP FUNCTION IF EXISTS udf.densitization;
如果需要全局生效,目前來看需要重啟hive,否則只對(duì)當(dāng)前客戶端有效。
PROE中的udf是什么
樓上所說的只是怎樣創(chuàng)建udf的命令呀,udf和cad里的塊是一個(gè)意思,創(chuàng)建了,還需要放置在什么地方,就是cad上的插入塊的意思。只是proe的udf可以隨便更改你這個(gè)塊中的特征的尺寸參數(shù)。而得到特征相同,而尺寸不同的塊。就和proe上的族表的意思差不多,但用法卻不一樣的。自己好好琢磨吧。還跟你說一下,把udf創(chuàng)建好后,要插入udf的命令在插入----用戶自定義特征(在模型樹上的圖標(biāo)是一個(gè)呈白色的組)這個(gè)命令
怎樣打開udf是什么格式的文件
這是一種光盤的映像格式,你可以用ultraiso光盤映像編輯軟件打開。
udf
是一種光盤文件格式。是由iso組織下屬的osta光學(xué)存儲(chǔ)技術(shù)協(xié)會(huì)于1996年制定的通用光盤文件系統(tǒng),采用包刻錄方式(packet
writing)。一般光盤刻錄有“一次性刻錄”和“追加刻錄(多次刻錄)”兩種,由于一次性刻錄盤是只讀的,第一次刻錄后,形成的文件分配表在第二次刻錄是不能修改了,所以它必須重新開辟一個(gè)區(qū)域作為文件分配表,這樣每追加一次刻錄就要浪費(fèi)20m的空間,而udf格式是先將光盤格式化,以后象硬盤操作一樣將文件往里拖,不需要刻錄軟件,隨插隨用,直至刻滿后封閉光盤,但udf格式的光盤在未封閉前無法在其它光驅(qū)上讀的,影響數(shù)據(jù)交換,只能作為一般儲(chǔ)存之用。