Как импортировать файл данных ".csv " в базу данных Redis
Как импортировать файл данных.csv в базу данных Redis? Файл.csv содержит столбцы "id, time, latitude, longitude". Можете ли вы предложить мне лучший способ импортировать файл CSV и иметь возможность выполнять пространственные запросы?
1 ответ
Это очень широкий вопрос, потому что мы не знаем, какую структуру данных вы хотите иметь. Какие запросы вы ожидаете и т. Д. Для решения вашего вопроса вам необходимо:
Запишите ожидаемые запросы. Запишите ожидаемые разделы. Является ли этот файл вашим полным набором данных?
Запишите свою структуру данных. Это будет сильно зависеть от ответов от p1.
Выберите любой язык сценариев, который вам наиболее удобен. Загрузите ваш файл, обработайте его в библиотеке 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"