아스키코드 중 제어문자에 해당되는 문자들은 다음과 같다.
ASCII control characters non printable :
ASCII code 00 = NULL ( Null character )
ASCII code 01 = SOH ( Start of Header )
ASCII code 02 = STX ( Start of Text )
ASCII code 03 = ETX ( End of Text, hearts card suit )
ASCII code 04 = EOT ( End of Transmission, diamonds card suit )
ASCII code 05 = ENQ ( Enquiry, clubs card suit )
ASCII code 06 = ACK ( Acknowledgement, spade card suit )
ASCII code 07 = BEL ( Bell )
ASCII code 08 = BS ( Backspace )
ASCII code 09 = HT ( Horizontal Tab )
ASCII code 10 = LF ( Line feed )
ASCII code 11 = VT ( Vertical Tab, male symbol, symbol for Mars )
ASCII code 12 = FF ( Form feed, female symbol, symbol for Venus )
ASCII code 13 = CR ( Carriage return )
ASCII code 14 = SO ( Shift Out )
ASCII code 15 = SI ( Shift In )
ASCII code 16 = DLE ( Data link escape )
ASCII code 17 = DC1 ( Device control 1 )
ASCII code 18 = DC2 ( Device control 2 )
ASCII code 19 = DC3 ( Device control 3 )
ASCII code 20 = DC4 ( Device control 4 )
ASCII code 21 = NAK ( NAK Negative-acknowledge )
ASCII code 22 = SYN ( Synchronous idle )
ASCII code 23 = ETB ( End of trans. block )
ASCII code 24 = CAN ( Cancel )
ASCII code 25 = EM ( End of medium )
ASCII code 26 = SUB ( Substitute )
ASCII code 27 = ESC ( Escape )
ASCII code 28 = FS ( File separator )
ASCII code 29 = GS ( Group separator )
ASCII code 30 = RS ( Record separator )
ASCII code 31 = US ( Unit separator )
ASCII code 127 = DEL ( Delete )
Hive 에서 데이터를 생성하면 컬럼 구분값의 기본 값으로 ^A이 사용된다.
create table tab1(
col1 string,
col2 string,
col3 string)
stored as textfile;
insert into tab1 values('a','b','c');
hdfs dfs -cat /..../tab1/00000
abc
기본적으로 ^A는 보이지 않는다 그래서 cat -v 옵셥을 줘서 보게 되면
bhjo@DESKTOP-RUF1A3F MINGW64 /c
$ cat 00000
abc
bhjo@DESKTOP-RUF1A3F MINGW64 /c
$ cat -v 00000
a^Ab^Ac
이런 형태로 표시됨을 알수 있다.
이런 데이터를 읽기 위해서 여러가지 방법이 있을 텐데
1. 테이블 생성 시 구분자를 다른 것으로 생성
2. 자료 추출 시 구분자를 지정
3. python 등을 통해 ^A를 문자로 인식하여 처리
4. read.table 함수의 옵션 사용
이중에서 이번에는 4번의 경우 아래와 같이 sep 에 \(아스키코드값) 입력하여 읽는다
> df <- read.table(file = "C:/00000", sep = '\001', na.strings ='\\N', quote = "", fill=T)
> df
V1 V2 V3
1 a b c
'Biz > Analysis' 카테고리의 다른 글
계획구매와 비계획구매 (0) | 2023.06.15 |
---|---|
RStudio Server: 서버 구성과 관리 (0) | 2016.07.17 |
RStudio Server with a Proxy (0) | 2016.07.17 |
Shiny에서 SparkR 실행하기 (0) | 2016.03.28 |
RStudio 에서 Spark 사용하기 (1) | 2016.03.26 |
댓글