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);
모든 파일 가져오기
Note:
MySQL 클라이언트를 시작할 때는--local-infile=1
옵션을 사용한다.
모든 *.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