Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
seatunnel-web
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
宋勇
seatunnel-web
Commits
d2d56984
提交
d2d56984
authored
4月 21, 2024
作者:
宋勇
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
csv excel s3 pg bug
上级
9a83ffd0
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
85 行增加
和
78 行删除
+85
-78
pom.xml
pom.xml
+33
-33
pom.xml
seatunnel-datasource/seatunnel-datasource-client/pom.xml
+1
-1
CSVDataSourceFactory.java
...seatunnel/datasource/plugin/csv/CSVDataSourceFactory.java
+1
-1
CSVOptionRule.java
...apache/seatunnel/datasource/plugin/csv/CSVOptionRule.java
+6
-7
ExcelDataSourceFactory.java
...unnel/datasource/plugin/excel/ExcelDataSourceFactory.java
+1
-1
ExcelOptionRule.java
...he/seatunnel/datasource/plugin/excel/ExcelOptionRule.java
+6
-0
PostgresqlDataSourceChannel.java
...e/plugin/postgresql/jdbc/PostgresqlDataSourceChannel.java
+31
-33
S3OptionRule.java
...g/apache/seatunnel/datasource/plugin/s3/S3OptionRule.java
+5
-1
pom.xml
seatunnel-datasource/seatunnel-datasource-plugins/pom.xml
+1
-1
没有找到文件。
pom.xml
浏览文件 @
d2d56984
...
...
@@ -992,39 +992,39 @@
<!-- <target>${maven.compiler.target}</target>-->
<!-- </configuration>-->
<!-- </plugin>-->
<
plugin
>
<groupId>
org.springframework.boot
</groupId
>
<artifactId>
spring-boot-maven-plugin
</artifactId
>
<version>
1.3.3.RELEASE
</version
>
<configuration
>
<mainClass>
none
</mainClass
>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题
-->
<classifier>
execute
</classifier
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在)
-->
</configuration
>
<dependencies
>
<
!-- <plugin>--
>
<!-- <groupId>org.springframework.boot</groupId>--
>
<!-- <artifactId>spring-boot-maven-plugin</artifactId>--
>
<!-- <version>1.3.3.RELEASE</version>--
>
<!-- <configuration>--
>
<!-- <mainClass>none</mainClass>--
>
<!-- <!– 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 –>
-->
<!--<!– <classifier>execute</classifier>–>--
>
<!-- <!– 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) –>
-->
<!-- </configuration>--
>
<!-- <dependencies>--
>
<!-- spring 热部署
-->
<!-- <!– spring 热部署 –>
-->
<dependency
>
<!-- <dependency>--
>
<groupId>
org.springframework
</groupId
>
<!-- <groupId>org.springframework</groupId>--
>
<artifactId>
springloaded
</artifactId
>
<!-- <artifactId>springloaded</artifactId>--
>
<version>
1.2.8.RELEASE
</version
>
<!-- <version>1.2.8.RELEASE</version>--
>
</dependency
>
<!-- </dependency>--
>
</dependencies
>
<executions
>
<execution
>
<goals
>
<goal>
repackage
</goal
>
</goals
>
</execution
>
</executions
>
<
/plugin
>
<!-- </dependencies>--
>
<!-- <executions>--
>
<!-- <execution>--
>
<!-- <goals>--
>
<!-- <goal>repackage</goal>--
>
<!-- </goals>--
>
<!-- </execution>--
>
<!-- </executions>--
>
<
!-- </plugin>--
>
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
...
...
@@ -1047,7 +1047,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1087,7 +1087,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1167,7 +1167,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1214,7 +1214,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1268,7 +1268,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1441,7 +1441,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
@@ -1498,7 +1498,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
seatunnel-datasource/seatunnel-datasource-client/pom.xml
浏览文件 @
d2d56984
...
...
@@ -60,7 +60,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-csv/src/main/java/org/apache/seatunnel/datasource/plugin/csv/CSVDataSourceFactory.java
浏览文件 @
d2d56984
...
...
@@ -30,7 +30,7 @@ import java.util.Set;
@AutoService
(
DataSourceFactory
.
class
)
public
class
CSVDataSourceFactory
implements
DataSourceFactory
{
private
static
final
String
PLUGIN_NAME
=
"
S3
"
;
private
static
final
String
PLUGIN_NAME
=
"
CSV
"
;
@Override
public
String
factoryIdentifier
()
{
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-csv/src/main/java/org/apache/seatunnel/datasource/plugin/csv/CSVOptionRule.java
浏览文件 @
d2d56984
...
...
@@ -82,7 +82,11 @@ public class CSVOptionRule {
.
stringType
()
.
defaultValue
(
"csv"
)
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
FileFormat
>
FILENAME
=
Options
.
key
(
"file_name"
)
.
enumType
(
FileFormat
.
class
)
.
noDefaultValue
()
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
String
>
DELIMITER
=
Options
.
key
(
"delimiter"
)
.
stringType
()
...
...
@@ -150,13 +154,8 @@ public class CSVOptionRule {
}
public
enum
FileFormat
{
CSV
(
"csv"
),
TEXT
(
"txt"
),
PARQUET
(
"parquet"
),
ORC
(
"orc"
),
JSON
(
"json"
),
CSV
(
"csv"
);
XML
(
"xml"
);
private
final
String
type
;
FileFormat
(
String
type
)
{
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-excel/src/main/java/org/apache/seatunnel/datasource/plugin/excel/ExcelDataSourceFactory.java
浏览文件 @
d2d56984
...
...
@@ -30,7 +30,7 @@ import java.util.Set;
@AutoService
(
DataSourceFactory
.
class
)
public
class
ExcelDataSourceFactory
implements
DataSourceFactory
{
private
static
final
String
PLUGIN_NAME
=
"
S3
"
;
private
static
final
String
PLUGIN_NAME
=
"
Excel
"
;
@Override
public
String
factoryIdentifier
()
{
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-excel/src/main/java/org/apache/seatunnel/datasource/plugin/excel/ExcelOptionRule.java
浏览文件 @
d2d56984
...
...
@@ -84,6 +84,11 @@ public class ExcelOptionRule {
.
noDefaultValue
()
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
FileFormat
>
FILENAME
=
Options
.
key
(
"fileName"
)
.
enumType
(
FileFormat
.
class
)
.
noDefaultValue
()
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
String
>
DELIMITER
=
Options
.
key
(
"delimiter"
)
.
stringType
()
...
...
@@ -126,6 +131,7 @@ public class ExcelOptionRule {
.
optional
(
DATE_FORMAT
)
.
optional
(
DATETIME_FORMAT
)
.
optional
(
TIME_FORMAT
)
.
optional
(
FILENAME
)
.
build
();
}
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-jdbc-postgresql/src/main/java/org/apache/seatunnel/datasource/plugin/postgresql/jdbc/PostgresqlDataSourceChannel.java
浏览文件 @
d2d56984
...
...
@@ -130,39 +130,7 @@ public class PostgresqlDataSourceChannel implements DataSourceChannelExt {
"Postgresql tableName should composed by schemaName.tableName"
);
}
try
(
ResultSet
resultSet
=
metaData
.
getColumns
(
database
,
split
[
0
],
split
[
1
],
null
))
{
while
(
resultSet
.
next
())
{
TableField
tableField
=
new
TableField
();
String
columnName
=
resultSet
.
getString
(
"COLUMN_NAME"
);
tableField
.
setPrimaryKey
(
false
);
if
(
StringUtils
.
isNotBlank
(
primaryKey
)
&&
primaryKey
.
equals
(
columnName
))
{
tableField
.
setPrimaryKey
(
true
);
}
tableField
.
setType
(
resultSet
.
getString
(
"TYPE_NAME"
));
// if (typeList.contains(tableField.getType().toLowerCase()))
// {
// tableField.setLen(resultSet.getString("CHARACTER_MAXIMUM_LENGTH"));
// } else {
//
// tableField.setLen(resultSet.getString("NUMERIC_PRECISION"));
//
// tableField.setScale(resultSet.getString("NUMERIC_SCALE"));
// }
// String extra = resultSet.getString("EXTRA");
// if (StringUtils.isNotBlank(extra)) {
// tableField.setHasAutoIncrement(true);
// }
tableField
.
setName
(
columnName
);
tableField
.
setComment
(
resultSet
.
getString
(
"REMARKS"
));
//
// tableField.setDefaultValue(resultSet.getString("COLUMN_DEFAULT"));
Object
nullable
=
resultSet
.
getObject
(
"IS_NULLABLE"
);
//
// tableField.setNullable(Boolean.TRUE.toString().equals(nullable.toString()));
tableFields
.
add
(
tableField
);
}
getFileds
(
tableFields
,
primaryKey
,
resultSet
);
}
}
catch
(
SQLException
|
ClassNotFoundException
e
)
{
throw
new
DataSourcePluginException
(
"get table fields failed"
,
e
);
...
...
@@ -170,6 +138,36 @@ public class PostgresqlDataSourceChannel implements DataSourceChannelExt {
return
tableFields
;
}
private
static
void
getFileds
(
List
<
TableField
>
tableFields
,
String
primaryKey
,
ResultSet
resultSet
)
throws
SQLException
{
while
(
resultSet
.
next
())
{
TableField
tableField
=
new
TableField
();
String
nullable
=
resultSet
.
getString
(
"IS_NULLABLE"
);
if
(
"YES"
.
equals
(
nullable
.
toUpperCase
()))
{
tableField
.
setNullable
(
true
);
}
else
{
tableField
.
setNullable
(
false
);
}
String
columnName
=
resultSet
.
getString
(
"COLUMN_NAME"
);
tableField
.
setPrimaryKey
(
false
);
if
(
StringUtils
.
isNotBlank
(
primaryKey
)
&&
primaryKey
.
equals
(
columnName
))
{
tableField
.
setPrimaryKey
(
true
);
}
String
typeName
=
resultSet
.
getString
(
"TYPE_NAME"
);
System
.
out
.
println
(
typeName
);
tableField
.
setType
(
typeName
);
tableField
.
setName
(
columnName
);
String
remarks
=
resultSet
.
getString
(
"REMARKS"
);
tableField
.
setComment
(
remarks
);
tableFields
.
add
(
tableField
);
}
}
@Override
public
Map
<
String
,
List
<
TableField
>>
getTableFields
(
@NonNull
String
pluginName
,
...
...
seatunnel-datasource/seatunnel-datasource-plugins/datasource-s3/src/main/java/org/apache/seatunnel/datasource/plugin/s3/S3OptionRule.java
浏览文件 @
d2d56984
...
...
@@ -83,7 +83,11 @@ public class S3OptionRule {
.
enumType
(
FileFormat
.
class
)
.
noDefaultValue
()
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
FileFormat
>
FILENAME
=
Options
.
key
(
"file_name"
)
.
enumType
(
FileFormat
.
class
)
.
noDefaultValue
()
.
withDescription
(
"S3 write type"
);
public
static
final
Option
<
String
>
DELIMITER
=
Options
.
key
(
"delimiter"
)
.
stringType
()
...
...
seatunnel-datasource/seatunnel-datasource-plugins/pom.xml
浏览文件 @
d2d56984
...
...
@@ -67,7 +67,7 @@
<configuration>
<mainClass>
none
</mainClass>
<!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
<
classifier>
execute
</classifier
>
<
!-- <classifier>execute</classifier>--
>
<!-- 解决maven-plugin插件打的Jar包可以运行,但依赖方打包找不到此模块中的类或属性的问题(程序包xxx不存在) -->
</configuration>
<dependencies>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论