<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【大數(shù)據(jù)】beeline 導(dǎo)出文件有特殊字符的問題解決

      問題

      近期在做大數(shù)據(jù)查詢引擎導(dǎo)出文件的功能,使用了 hive 的 beeline 客戶端。發(fā)現(xiàn) beeline 導(dǎo)出的文件以及終端輸出有許多特殊字符。

      按照官方文檔使用 beeline 導(dǎo)出命令:[1]

      /usr/bin/beeline --silent=true --showHeader=true --outputformat=csv2 -f query.hql </dev/null > /tmp/output.csv 2> /tmp/error.log
      

      現(xiàn)象

      在 vim 中顯示為 ^M,在熟悉換行符的背景下,立即認(rèn)出這就是 CR符號(hào),也就是 \n

      或者在excel文件頭部,有很多 null,空格等符號(hào)。

      分析

      在做系統(tǒng)集成的時(shí)候,明顯是不需要用 nohup的,因此沒有采用文檔中的寫法,因?yàn)?nohup 一般直接在終端中使用;另外程序調(diào)用需要前臺(tái)運(yùn)行,等待結(jié)束后,獲得exitCode,以及導(dǎo)出的文件和錯(cuò)誤輸出。

      相關(guān)資料

      另一位網(wǎng)友也遇到了這個(gè)問題[2],文章中分析了源碼層面,可惜未給出合適的解決辦法,但有啟發(fā)。

      過程

      由前面的文檔啟發(fā),觀察 /bin/hive 腳本, 發(fā)現(xiàn)

      if [[ "$SERVICE" =~ ^(hiveserver2|beeline|cli)$ ]] ; then
        # If process is backgrounded, don't change terminal settings
        if [[ ( ! $(ps -o stat= -p $$) =~ "+" ) && ! ( -p /dev/stdin ) && ( ! $(ps -o tty= -p $$) =~ "?" ) ]]; then
          export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Djline.terminal=jline.UnsupportedTerminal"
        fi
      fi
      

      在有使用過 Alibaba Cloud Toolkit 的背景下,立即發(fā)現(xiàn)這是一個(gè) stty size 的問題。

      解決

      在程序調(diào)用的場(chǎng)景下,通過/bin/bash 進(jìn)行調(diào)用,所以其實(shí)是以一個(gè)終端環(huán)境,終端就涉及到美化輸出的問題

      所以一定要設(shè)置終端類型為不支持終端,因此顯式設(shè)置變量:

      HADOOP_CLIENT_OPTS="-Djline.terminal=jline.UnsupportedTerminal"
      
      ProcessBuilder _proc = new ProcessBuilder().inheritIO().command(arguments);
      _proc.environment().put("HADOOP_CLIENT_OPTS","-Djline.terminal=jline.UnsupportedTerminal");
      Process proc = _proc.start();
      

      建議

      一般導(dǎo)出的文件是UTF-8,對(duì)于Windows的用戶來說,直接打開到Excel中文會(huì)亂碼,最好添加上 BOM[3]

      一般添加的是EF BB BF


      1. https://hive.apache.org/docs/latest/user/hiveserver2-clients/#background-query-in-terminal-script ??

      2. https://stefanxiepj.github.io/archives/241842c7.html ??

      3. https://stackoverflow.com/questions/2223882/whats-the-difference-between-utf-8-and-utf-8-with-bom ??

      posted @ 2025-01-12 23:06  一杯半盞  閱讀(114)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲精品国产一区二区三| 长岭县| 精品一卡2卡三卡4卡乱码精品视频| 一级片一区二区中文字幕| 少妇人妻偷人精品视频| 国产人妻精品一区二区三区不卡| 乱码精品一区二区三区| 国产欧美亚洲精品a第一页| 国产成人精品无人区一区| 亚洲AV成人无码久久精品四虎| 手机看片福利一区二区三区 | 99久热在线精品视频| 麻豆成人精品国产免费| 国产网红主播精品一区| 中文字幕乱妇无码av在线| 国产精品中文第一字幕| 会同县| 国产蜜臀在线一区二区三区| 色一乱一伦一图一区二区精品| 国产成人高清精品亚洲| 在线观看国产成人av片| 亚洲色大成网站WWW永久麻豆| 综合久久国产九一剧情麻豆| 国产av一区二区麻豆熟女| 好男人社区神马在线观看www| 亚洲宅男精品一区在线观看| 国产高清不卡视频| 欧美大bbbb流白水| 日韩精品理论片一区二区| av无码精品一区二区乱子| 中文字幕日韩区二区三区| 国产一二三五区不在卡| 国产成人无码久久久精品一| av偷拍亚洲一区二区三区| 久久er热在这里只有精品66| 国产综合久久99久久| 潘金莲高清dvd碟片| 精品国产国语对白主播野战| 精品精品国产国产自在线| 亚洲 欧美 清纯 校园 另类| 国产黄色精品一区二区三区|