我正在尝试使用odo将CSV导入MySQL,但是却遇到了datashape错误。

我的理解是datashape采用以下格式:

var * {
    column: type
    ...
}

其中var表示行数可变。我收到以下错误:
AssertionError: datashape must be Record type, got 0 * {
  tod: ?string,
  interval: ?string,
  iops: float64,
  mb_per_sec: float64
}

我不确定那0行是从哪里来的。我尝试使用dshape()显式设置datashape,但继续遇到相同的错误。

这是重新生成错误的简化代码版本:
from odo import odo

odo('test.csv', mysql_database_uri)

我正在使用Conda运行Ubuntu 16.04和Python 3.6.1。

感谢您的任何投入。

最佳答案

我有此错误,需要指定表

# error
odo('data.csv', 'postgresql://usr:pwd@ip/db')

# works
odo('data.csv', 'postgresql://usr:pwd@ip/db::table')

09-30 20:21