1 S3 백만송 데이터 → 로컬 컴퓨터 1 2

빅데이터(백만송 데이터)를 분석하기 위해서 빅데이터는 클라우드 AWS S3에 저장하고, 이를 EC2에 설치한 스파크 클러스터를 통해 분석작업을 수행한다. 이를 위해서 다음과 같은 작업흐름을 갖출 수 있다.

  1. S3 브라우저와 같은 FTP 프로그램을 이용하여 S3에 데이터를 전송한다.
  2. config 팩키지를 통해 인증작업을 수행한다.
  3. 로컬 PC에서 S3 저장소에 접속하여 분석작업을 수행한다.

S3-config-aws.S3 작업

2 AWS S3 저장소 인증

AWS S3 저장소에 config 팩키지를 활용하여 인증설정을 한다. install.packages("config") 명령어로 config 팩키지를 설치하게 되면 config.yml 파일 내부에 환경설정에 필요한 정보를 담을 수가 있다.

config.xml파일을 만들어 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY를 지정한다. .gitignoreconfig.xml파일을 등록시켜 GitHub 등 외부에 누출되지 않도록 특히 유의한다.

bucketlist() 함수를 통해서 앞서 S3 접근 인증된 버킷에 접근할 수 있다. 특히, bucket_list_df() 함수는 데이터프레임으로 버킷 데이터를 변경시켜주기 때문에 dplyr 동사를 사용해서 다양한 후속 작업도 가능하다.

           Bucket             CreationDate
1 tidyverse-seoul 2019-01-18T03:30:50.000Z

3 AWS S3 버킷 데이터 가져오기 3 4

# A tibble: 150 x 5
   sepal_length sepal_width petal_length petal_width species
          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
 1          5.1         3.5          1.4         0.2 setosa 
 2          4.9         3            1.4         0.2 setosa 
 3          4.7         3.2          1.3         0.2 setosa 
 4          4.6         3.1          1.5         0.2 setosa 
 5          5           3.6          1.4         0.2 setosa 
 6          5.4         3.9          1.7         0.4 setosa 
 7          4.6         3.4          1.4         0.3 setosa 
 8          5           3.4          1.5         0.2 setosa 
 9          4.4         2.9          1.4         0.2 setosa 
10          4.9         3.1          1.5         0.1 setosa 
# ... with 140 more rows

iris.csv 대신에 YearPredictionMSD.txt 약 500MB 데이터를 불러와 보자.

# A tibble: 515,344 x 91
   X2001 X49.94357 X21.47114 X73.07750 X8.74861 X.17.40628 X.13.09905
   <int>     <dbl>     <dbl>     <dbl>    <dbl>      <dbl>      <dbl>
 1  2001      48.7    18.4        70.3    12.9     -10.3      -24.8  
 2  2001      51.0    31.9        55.8    13.4      -6.58     -18.5  
 3  2001      48.2    -1.90       36.3     2.59      0.972    -26.2  
 4  2001      51.0    42.2        67.1     8.47    -15.9      -16.8  
 5  2001      50.5     0.316      92.4    22.4     -25.5      -19.0  
 6  2001      50.6    33.2        50.5    11.6     -27.2       -8.78 
 7  2001      48.3     8.98       75.2    24.0     -16.0      -14.1  
 8  2001      49.8    34.0        56.7     2.90     -2.92     -26.4  
 9  2007      45.2    46.3       -40.7    -2.48      1.21      -0.653
10  2008      39.1   -23.0       -36.2     1.68     -4.27      13.0  
# ... with 515,334 more rows, and 84 more variables: X.25.01202 <dbl>,
#   X.12.23257 <dbl>, X7.83089 <dbl>, X.2.46783 <dbl>, X3.32136 <dbl>,
#   X.2.31521 <dbl>, X10.20556 <dbl>, X611.10913 <dbl>, X951.08960 <dbl>,
#   X698.11428 <dbl>, X408.98485 <dbl>, X383.70912 <dbl>,
#   X326.51512 <dbl>, X238.11327 <dbl>, X251.42414 <dbl>,
#   X187.17351 <dbl>, X100.42652 <dbl>, X179.19498 <dbl>, X.8.41558 <dbl>,
#   X.317.87038 <dbl>, X95.86266 <dbl>, X48.10259 <dbl>, X.95.66303 <dbl>,
#   X.18.06215 <dbl>, X1.96984 <dbl>, X34.42438 <dbl>, X11.72670 <dbl>,
#   X1.36790 <dbl>, X7.79444 <dbl>, X.0.36994 <dbl>, X.133.67852 <dbl>,
#   X.83.26165 <dbl>, X.37.29765 <dbl>, X73.04667 <dbl>, X.37.36684 <dbl>,
#   X.3.13853 <dbl>, X.24.21531 <dbl>, X.13.23066 <dbl>, X15.93809 <dbl>,
#   X.18.60478 <dbl>, X82.15479 <dbl>, X240.57980 <dbl>, X.10.29407 <dbl>,
#   X31.58431 <dbl>, X.25.38187 <dbl>, X.3.90772 <dbl>, X13.29258 <dbl>,
#   X41.55060 <dbl>, X.7.26272 <dbl>, X.21.00863 <dbl>, X105.50848 <dbl>,
#   X64.29856 <dbl>, X26.08481 <dbl>, X.44.59110 <dbl>, X.8.30657 <dbl>,
#   X7.93706 <dbl>, X.10.73660 <dbl>, X.95.44766 <dbl>, X.82.03307 <dbl>,
#   X.35.59194 <dbl>, X4.69525 <dbl>, X70.95626 <dbl>, X28.09139 <dbl>,
#   X6.02015 <dbl>, X.37.13767 <dbl>, X.41.12450 <dbl>, X.8.40816 <dbl>,
#   X7.19877 <dbl>, X.8.60176 <dbl>, X.5.90857 <dbl>, X.12.32437 <dbl>,
#   X14.68734 <dbl>, X.54.32125 <dbl>, X40.14786 <dbl>, X13.01620 <dbl>,
#   X.54.40548 <dbl>, X58.99367 <dbl>, X15.37344 <dbl>, X1.11144 <dbl>,
#   X.23.08793 <dbl>, X68.40795 <dbl>, X.1.82223 <dbl>, X.27.46348 <dbl>,
#   X2.26327 <dbl>