복붙노트

[HADOOP] 행과 열 이름을 잃어버린없이 R에서 HDFS에서 파일을 읽는 방법

HADOOP

행과 열 이름을 잃어버린없이 R에서 HDFS에서 파일을 읽는 방법

내 문제는 내가 예 (헤더)에 대한 열 이름을 포함하는 CSV 파일, 열 사라지게하고있다 "V1", "V2"의 이름 ... 대신 읽을 때

나는 CSV 형식으로 mtcars 데이터 세트가 여기에 미리보기입니다

model,mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb
Mazda RX4,21,6,160,110,3.9,2.62,16.46,0,1,4,4
Mazda RX4 Wag,21,6,160,110,3.9,2.875,17.02,0,1,4,4
Datsun 710,22.8,4,108,93,3.85,2.32,18.61,1,1,4,1

나는 그것을를 HDFS에 업로드 읽고 싶은, 그래서 "HUE"플랫폼에 가서 파일을 업로드 할 수 있습니다. 나는 파일 관리자에서 볼 수 있습니다. 여기에 작은 미리보기입니다 :

그런 다음 R 세션 사용 plyrmr에 나는 코드 이하를 실행합니다 :

filename3 <- "/user/sgerony/mtcars.csv"
input(filename3,format=make.input.format(format = "csv", sep=","))

그 결과는 이것이다 :

                V1   V2  V3    V4  V5   V6    V7    V8 V9 V10  V11  V12
1    Chrysler Imperial 14.7   8   440 230 3.23 5.345 17.42  0   0    3    4
2             Fiat 128 32.4   4  78.7  66 4.08   2.2 19.47  1   1    4    1
3          Honda Civic 30.4   4  75.7  52 4.93 1.615 18.52  1   1    4    2
4       Toyota Corolla 33.9   4  71.1  65 4.22 1.835  19.9  1   1    4    1

당신이 볼 수 있듯이 열 이름은 사라했다. 내가 무엇을 잘못하고 있지?

감사

해결법

  1. ==============================

    1.이것은 내가 찾은 솔루션 (더 나은 일주를 해 주시기 바랍니다가 있다면 정말 그렇게처럼 좋아하지 않는다)입니다.

    이것은 내가 찾은 솔루션 (더 나은 일주를 해 주시기 바랍니다가 있다면 정말 그렇게처럼 좋아하지 않는다)입니다.

    I은 열 이름 (mtcars_names.csv) 및 데이터를 포함하는 다른 두 함유 CSV 파일, 하나 CSV 파일을 분리 (mtcars_no_names.csv). 그런 다음 파일 관리자에 그들을 업로드했습니다.

    filename <- "/user/sgerony/mtcars_no_names.csv"
    filename.names <- "/user/sgerony/mtcars_names.csv"
    filename.names <- as.data.frame(input(filename.names,
    format=make.input.format(format = "csv", sep=",")))
    
    # transform the columns in "character" types
    for(i in 1:dim(filename.names)[2]){
      filename.names[,i] <- as.character(filename.names[,i])
    }
    

    이제 때마다 나는 파일 I 코드를 읽기 / 쓰기 :

    ### comlumn name information is once more lost
    output(input(filename,format=make.input.format(format = "csv",
    sep=",", col.names = filename.names[1,])),
    path="/user/sgerony/mtcars_output_csv")
    
    input("/user/sgerony/mtcars_output_csv",
    format=make.input.format(format = "csv", 
    sep=",", col.names = filename.names[1,]))
    

    나는 데이터 집합을 생성하는 경우 매우 혼란 얻을 수있다. 다른 열 이름을 가진 각각의 부분 집합의 경우 열 이름을 포함하는 새로운 파일이 생성되어야 할 것이다

  2. from https://stackoverflow.com/questions/33802116/how-to-read-files-in-hdfs-in-r-without-loosing-column-and-row-names by cc-by-sa and MIT license