sql加载器需要dat文件来加载数据
sql loader requires dat file to load the data
我有一个包含多个文件的文件夹,但它们不是.dat。令我惊讶的是,我可以加载一个文件,但只有当我重命名为 .dat 时。我做错了什么或者我需要将所有文件重命名为 .dat ?我的文件没有扩展名
谢谢大家
控制文件
load data
infile 'D:\pageviews\year=2016\month=06\*'
replace
into table test
fields terminated by whitespace
trailing nullcols
(
c1,
c2,
c3,
c4
)
据我所知,您使用的 INFILE
子句是错误的。
您应该为正在加载的文件命名。当数据(您即将加载)包含在控制文件本身(在 BEGINDATA
关键字之后)时使用星号。
如果您没有指定文件扩展名,那么它默认为 .dat(这就是您设法加载文件的原因)。
可能的情况(复制自documentation):
- 控制文件本身包含的数据:
INFILE *
- 默认扩展名为 .dat 的名为 foo 的文件中包含的数据:
INFILE foo
- 数据包含在名为 datafile.dat 的文件中,指定了完整路径:
INFILE 'c:/topdir/subdir/datafile.dat'
一定要阅读文档;你应该(不)做什么会更清楚。
我有一个包含多个文件的文件夹,但它们不是.dat。令我惊讶的是,我可以加载一个文件,但只有当我重命名为 .dat 时。我做错了什么或者我需要将所有文件重命名为 .dat ?我的文件没有扩展名
谢谢大家
控制文件
load data
infile 'D:\pageviews\year=2016\month=06\*'
replace
into table test
fields terminated by whitespace
trailing nullcols
(
c1,
c2,
c3,
c4
)
据我所知,您使用的 INFILE
子句是错误的。
您应该为正在加载的文件命名。当数据(您即将加载)包含在控制文件本身(在 BEGINDATA
关键字之后)时使用星号。
如果您没有指定文件扩展名,那么它默认为 .dat(这就是您设法加载文件的原因)。
可能的情况(复制自documentation):
- 控制文件本身包含的数据:
INFILE *
- 默认扩展名为 .dat 的名为 foo 的文件中包含的数据:
INFILE foo
- 数据包含在名为 datafile.dat 的文件中,指定了完整路径:
INFILE 'c:/topdir/subdir/datafile.dat'
一定要阅读文档;你应该(不)做什么会更清楚。