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

解決Hive視圖View數(shù)據(jù)亂碼的問題

這篇具有很好參考價(jià)值的文章主要介紹了解決Hive視圖View數(shù)據(jù)亂碼的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、場景描述

在Hive中,基于某個表創(chuàng)建視圖,直接引用表的字段是不會有問題的;但如果增加一個不存在表中的字段,且字段值為中文,就會出現(xiàn)亂碼的問題。

create table t_unicode_test as select '中國' as country;

create view v_unicode_test as select country, '中國' as country2 from t_unicode_test;

select * from test.v_unicode_test;

+-------------------------+--------------------------+
| v_unicode_test.country  | v_unicode_test.country2  |
+-------------------------+--------------------------+
| 中國                    | ??                       |
+-------------------------+--------------------------+

2、解決過程

????????在網(wǎng)上找了一圈,原因是Hive的元數(shù)據(jù)庫默認(rèn)編碼是 Latin1(ISO-8859-1),解決方案基本都是去Hive元數(shù)據(jù)庫修改編碼。

? ? ? ? 等等,Excuse me???誰家的開發(fā)權(quán)限這么大,還可以改元數(shù)據(jù)庫?沒有權(quán)限訪問Hive的元數(shù)據(jù)庫,看來只能 “曲線救國” 了。

? ? ? ? 思來想去,最后發(fā)現(xiàn)使用 Unicode碼 就可以了。

3、解決方案

? ? ? ? 問題來了,如何將字符串轉(zhuǎn)換為Unicode碼。我在網(wǎng)上抄了一段java代碼:

public static String strToUnicode(String str) {
	char[] chars = str.toCharArray();
	StringBuilder returnStr = new StringBuilder();
	for (char aChar : chars) {
		returnStr.append("\\u").append(Integer.toString(aChar, 16));
	}
	return returnStr.toString();
}


public static void main(String[] args) {
	String str = "中國";

	System.out.println(strToUnicode(str));
}

結(jié)果:\u4e2d\u56fd

再修改一下創(chuàng)建視圖的語句

alter view v_unicode_test as select country, '\u4e2d\u56fd' as country2 from t_unicode_test;

select * from test.v_unicode_test;

+-------------------------+--------------------------+
| v_unicode_test.country  | v_unicode_test.country2  |
+-------------------------+--------------------------+
| 中國                     | 中國                     |
+-------------------------+--------------------------+

完美解決

后話:

????????如果本地沒有java環(huán)境,可以借助一下Hive文章來源地址http://www.zghlxwxcb.cn/news/detail-580706.html

select java_method('java.net.URLEncoder', 'encode', '中國', 'UTF-16BE');

+---------------+
|      _c0      |
+---------------+
| %4E%2D%56%FD  |
+---------------+

到了這里,關(guān)于解決Hive視圖View數(shù)據(jù)亂碼的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • web-view往h5傳參及傳參亂碼問題

    web-view往h5傳參及傳參亂碼問題

    1、微信端的操作 往wxml中配置web-view 并在對應(yīng)js中動態(tài)設(shè)置路徑的參數(shù) 在需要的地方修改其路徑參數(shù) 2、h5端(接受上面?zhèn)鬟M(jìn)來的參數(shù)) 注:這里建議如果h5是vue項(xiàng)目的話,可以本地映射一個地址出去。在vue.config.js下配置devServer--host設(shè)置為本機(jī)ip地址,接著小程序接入該地址用

    2024年02月09日
    瀏覽(20)
  • [微信小程序] movable-view 可移動視圖容器 - 范圍問題

    [微信小程序] movable-view 可移動視圖容器 - 范圍問題

    movable-view?可移動視圖容器 可移動視圖容器,在頁面中可以拖拽滑動。movable-view必須在?movable-area?組件中,并且必須是直接子節(jié)點(diǎn) 運(yùn)行效果: 發(fā)現(xiàn)文字超出了移動區(qū)域的問題,去查閱了文檔,發(fā)現(xiàn)這個默認(rèn)是不允許超出的 問題原因:沒有給?movable-view設(shè)置寬高,所以它自動

    2024年02月16日
    瀏覽(18)
  • MySQL數(shù)據(jù)庫——MySQL創(chuàng)建視圖(CREATE VIEW)

    創(chuàng)建視圖是指在已經(jīng)存在的 MySQL 數(shù)據(jù)庫表上建立視圖。視圖可以建立在一張表中,也可以建立在多張表中。 可以使用 CREATE VIEW 語句來創(chuàng)建視圖。 語法格式如下: 語法說明如下。 視圖名 : 指定視圖的名稱。該名稱在數(shù)據(jù)庫中必須是唯一的,不能與其他表或視圖同名。 SEL

    2024年02月02日
    瀏覽(17)
  • 數(shù)據(jù)備份與還原,(mysqldump,source)索引(index),創(chuàng)建視圖(view)

    數(shù)據(jù)備份與還原,(mysqldump,source)索引(index),創(chuàng)建視圖(view)

    一、備份與還原 1、使用mysqldump命令備份數(shù)據(jù)庫中的所有表 2、備份booksDB數(shù)據(jù)庫中的books表 3、使用mysqldump備份booksDB和test數(shù)據(jù)庫 4、使用mysqldump備份服務(wù)器中的所有數(shù)據(jù)庫 5、使用mysql命令還原第二題導(dǎo)出的book表 6、進(jìn)入數(shù)據(jù)庫使用source命令還原第二題導(dǎo)出的book表 索引 1、建立

    2024年02月15日
    瀏覽(23)
  • HttpURLConnection發(fā)起請求中文數(shù)據(jù)亂碼問題解決

    HttpURLConnection發(fā)送POST請求時(shí),請求參數(shù)中有中文,且請求成功后,后端顯示出現(xiàn)亂碼 POST的form沒有轉(zhuǎn)碼的問題,服務(wù)器數(shù)據(jù)將byte轉(zhuǎn)成utf8,utf8編碼是3個字節(jié)對應(yīng)一個字符,但如果只讀了一個字節(jié)或者不為3的倍數(shù)這樣強(qiáng)轉(zhuǎn)編碼就會導(dǎo)致亂碼出現(xiàn) 在POST方法初始化StringEntity時(shí)指定

    2024年02月11日
    瀏覽(22)
  • hive lateral view 實(shí)踐記錄(Array和Map數(shù)據(jù)類型)

    hive lateral view 實(shí)踐記錄(Array和Map數(shù)據(jù)類型)

    目錄 一、Array 1.建表并插入數(shù)據(jù) ?2.lateral view explode 二、Map 1、建表并插入數(shù)據(jù) 2、lateral view explode() 3、查詢數(shù)據(jù) 正確插入數(shù)據(jù): 原數(shù)據(jù) 結(jié)果: ?--------最開始錯誤的插入數(shù)據(jù)法------- ?原數(shù)據(jù) ?step1: step2: 備注: 比原表數(shù)據(jù)少了 雙引號 綜上,以上的插入數(shù)據(jù)是不對的??!

    2024年02月11日
    瀏覽(19)
  • 解決前端傳給Spring Boot的中文數(shù)據(jù)亂碼問題

    解決前端傳給Spring Boot的中文數(shù)據(jù)亂碼問題,可以按照以下幾個方法進(jìn)行操作: 在前端的請求頭(Request Header)中設(shè)置字符集編碼為UTF-8: Content-Type: application/x-www-form-urlencoded; charset=UTF-8 1.在Spring Boot的后端接收中文數(shù)據(jù)的Controller中,添加注解@RequestBody,并設(shè)置編碼為UTF-8:

    2024年03月25日
    瀏覽(33)
  • 視圖View和視圖組ViewGroup

    布局和GUI組件有很多共同點(diǎn),所有類型的布局有一些共同的組件。這是因?yàn)樗胁季趾虶UI組件都是Android View類的子類。 GUI組件就是View類型 布局是一種名為ViewGroup的View類型 ,布局是一種特殊類型的視圖,稱為視圖組。所有布局都是android.view.ViewGroup類的子類,稱為視圖組。所

    2024年02月08日
    瀏覽(26)
  • 成功解決DataX從Hive導(dǎo)出Oracle的數(shù)據(jù)亂碼問題!

    大數(shù)據(jù)與 RDBMS 之間的數(shù)據(jù)導(dǎo)入和導(dǎo)出都是企業(yè)日常數(shù)據(jù)處理中常見的一環(huán),該環(huán)節(jié)一般稱為 e-t-l 即 extract-transform-load 。市面上可用的 etl 工具和框架很多,如來自于傳統(tǒng)數(shù)倉和 BI 圈的 kettle/informatica/datastage , 來自于 hadoop 生態(tài)圈的 sqoop/datax ,抑或使用計(jì)算引擎 spark/presto/fli

    2024年02月13日
    瀏覽(21)
  • 關(guān)于黑馬hive課程案例FineBI中文亂碼的解決

    關(guān)于黑馬hive課程案例FineBI中文亂碼的解決

    情況1:FineBI導(dǎo)入表名中文亂碼,字段內(nèi)容正常 情況2:FineBI導(dǎo)入表字段中文亂碼,表名內(nèi)容正常 使用navcat等工具連接node1 mysql數(shù)據(jù)庫,執(zhí)行下列代碼,修改相關(guān)字符集格式 執(zhí)行的時(shí)機(jī) 準(zhǔn)備數(shù)據(jù)表階段和清洗數(shù)據(jù)階段都可,需在完成需求生成結(jié)果表之前 如果出現(xiàn)字段中文亂碼

    2024年02月09日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包