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'

一定要阅读文档;你应该(不)做什么会更清楚。