如何将“.csv”数据文件导入Redis数据库

时间:2018-06-13 15:13:40

标签: csv import redis spatial

如何将.csv数据文件导入Redis数据库? .csv文件中包含“id,time,latitude,longitude”列。您能否向我推荐导入CSV文件并能够执行空间查询的最佳方法?

1 个答案:

答案 0 :(得分:0)

这是一个非常广泛的问题,因为我们不知道您想要的数据结构。你期望什么样的问题,等等。为了解决你的问题,你需要:

  1. 记下预期的查询。记下预期的分区。此文件是您的完整数据集吗?

  2. 记下您的数据结构。它将在很大程度上取决于来自p1的答案。

  3. 选择您最熟悉的任何(脚本)语言。加载文件,在CSV库中处理,从p2映射到数据结构,推送到Redis。您可以使用客户端库或redis-cli执行后者。

  4. 例如,您希望将数据放置在排序集中,其中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”