как импортировать файл данных ".csv" в базу данных Redis - PullRequest
0 голосов
/ 13 июня 2018

Как импортировать файл данных .csv в базу данных Redis?Файл .csv содержит столбцы «id, time, latitude, longitude».Можете ли вы предложить мне лучший способ импортировать файл CSV и иметь возможность выполнять пространственные запросы?

1 Ответ

0 голосов
/ 14 июня 2018

Это очень широкий вопрос, потому что мы не знаем, какую структуру данных вы хотите иметь.Какие запросы вы ожидаете и т. Д. Чтобы решить свой вопрос, вам необходимо:

  1. Запишите ожидаемые запросы.Запишите ожидаемые разделы.Является ли этот файл вашим полным набором данных?

  2. Запишите свою структуру данных.Это будет сильно зависеть от ответов на стр. 1.

  3. Выберите любой (скриптовый) язык, который вам наиболее удобен.Загрузите ваш файл, обработайте его в библиотеке CSV, сопоставьте структуру данных из p2, нажмите Redis.Последнее можно сделать с помощью клиентской библиотеки или с помощью redis-cli.

Если, например, вы хотите поместить данные в отсортированные наборы, где ваш id является ключом zset, отметкой времениэто оценка, а lat,lon это полезная нагрузка, вы можете сделать это:

$ cat data.csv
id1,1528961481,45.0,45.0
id1,1528961482,45.1,45.1
id2,1528961483,50,0,50,0
id2,1528961484,50,1,50,0

cat data.csv | awk -F "," '{print $1" "$2" "$3" "$4}' | xargs -n4 sh -c 'redis-cli -p 6370 zadd $1 $2 "$3,$4"' sh

127.0.0.1: 6370> zrange id2 0 -1
1)"50,0,50,0"
2) "50,1,50,0"

...