TiDB 샘플 데이터베이스 가져오기

TiDB 매뉴얼에서 사용되는 예제는 Capital Bikeshare 데이터 라이센스 계약에서 릴리스된 Capital Bikeshare 시스템 데이터를 사용한다.

모든 데이터 파일 다운로드

시스템 데이터는 연간으로 구성된 .zip 파일로 다운로드 할 수 있다. 모든 파일을 다운로드하고 압축을 해제하려면 약 3GB의 디스크 공간이 필요하다. bash 스크립트를 사용하여 2010년부터 2017년까지 모든 파일을 다운로드 하려면:

mkdir -p bikeshare-data && cd bikeshare-data

curl -L --remote-name-all https://s3.amazonaws.com/capitalbikeshare-data/{2010..2017}-capitalbikeshare-tripdata.zip
unzip \*-tripdata.zip

데이터를 TiDB에 로드

시스템 데이터는 다음 스키마를 사용하여 TiDB로 가져올 수 있다.

CREATE DATABASE bikeshare;
USE bikeshare;

CREATE TABLE trips (
 trip_id bigint NOT NULL PRIMARY KEY AUTO_INCREMENT,
 duration integer not null,
 start_date datetime,
 end_date datetime,
 start_station_number integer,
 start_station varchar(255),
 end_station_number integer,
 end_station varchar(255),
 bike_number varchar(255),
 member_type varchar(255)
);

여기 예제에서 LOAD DATA 명령을 사용하여 파일을 개별적으로 가져오거나, 아래와 같이 bash 루프를 사용하여 모든 파일을 가져올 수 있다.

SET tidb_dml_batch_size = 20000;
LOAD DATA LOCAL INFILE '2017Q1-capitalbikeshare-tripdata.csv' INTO TABLE trips
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES
(duration, start_date, end_date, start_station_number, start_station,
end_station_number, end_station, bike_number, member_type);

모든 파일 가져오기

모든 *.csv 파일을 bash 루프로 TiDB로 가져오려면:

for FILE in *.csv; do
 echo "== $FILE =="
 mysql bikeshare --local-infile=1 -e "SET tidb_dml_batch_size = 20000; LOAD DATA LOCAL INFILE '${FILE}' INTO TABLE trips FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (duration, start_date, end_date, start_station_number, start_station, end_station_number, end_station, bike_number, member_type);"
done;

Import Example Database 최종수정일 2022. 6. 6. 오후 5:02:15: remove aliases for v6.1 docs (#8795)




최종 수정 : 2022-09-03