Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
ihooyah-flume
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄杰
ihooyah-flume
Commits
6a20d7b5
Commit
6a20d7b5
authored
May 07, 2021
by
吴凯波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
flume监控ftp得json文件
parent
12324a95
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
29 deletions
+16
-29
DAOClass.java
src/main/java/com/ihooyah/flume/sink/DAOClass.java
+16
-29
No files found.
src/main/java/com/ihooyah/flume/sink/DAOClass.java
View file @
6a20d7b5
...
@@ -30,20 +30,19 @@ public class DAOClass {
...
@@ -30,20 +30,19 @@ public class DAOClass {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DAOClass
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DAOClass
.
class
);
private
static
Map
<
String
,
String
>
columnsMap
=
new
HashMap
();
private
static
Map
<
String
,
String
>
columnsMap
=
new
HashMap
();
private
static
String
INSERT_QUERY
;
private
static
String
INSERT_QUERY
;
private
static
String
DELETE_QUERY
;
private
Connection
connection
;
private
Connection
connection
;
public
DAOClass
()
{
public
DAOClass
()
{
}
}
public
void
insertData
(
Event
event
,
Map
<
String
,
String
>
params
)
throws
Exception
{
public
void
insertData
(
Event
event
,
Map
<
String
,
String
>
params
)
throws
Exception
{
//同步
.
json文件的逻辑
//同步json文件的逻辑
try
{
try
{
String
body
=
new
String
(
event
.
getBody
(),
"UTF-8"
);
String
body
=
new
String
(
event
.
getBody
(),
"UTF-8"
);
Map
<
String
,
String
>
headers
=
event
.
getHeaders
();
Map
<
String
,
String
>
headers
=
event
.
getHeaders
();
String
fileName
=
(
String
)
headers
.
get
(
"fileName"
);
String
fileName
=
(
String
)
headers
.
get
(
"fileName"
);
String
databaseName
=
(
String
)
params
.
get
(
"databaseName"
);
String
tableName
=
(
String
)
params
.
get
(
"tableName"
);
String
tableName
=
(
String
)
params
.
get
(
"tableName"
);
String
partition
=
(
String
)
params
.
get
(
"partition"
);
String
iscustom
=
(
String
)
params
.
get
(
"iscustom"
);
String
iscustom
=
(
String
)
params
.
get
(
"iscustom"
);
JSONObject
initObject
=
JSONObject
.
parseObject
(
body
);
JSONObject
initObject
=
JSONObject
.
parseObject
(
body
);
JSONArray
initArray
=
JSONArray
.
parseArray
(
initObject
.
get
(
"data"
).
toString
());
JSONArray
initArray
=
JSONArray
.
parseArray
(
initObject
.
get
(
"data"
).
toString
());
...
@@ -55,39 +54,27 @@ public class DAOClass {
...
@@ -55,39 +54,27 @@ public class DAOClass {
String
columns
=
""
;
String
columns
=
""
;
List
<
String
>
columnList
=
new
ArrayList
<>();
List
<
String
>
columnList
=
new
ArrayList
<>();
Statement
st
=
this
.
connection
.
createStatement
();
Statement
st
=
this
.
connection
.
createStatement
();
tableName
=
initObject
.
get
(
"type"
).
toString
();
String
isTableExist
=
"select table_name from INFORMATION_SCHEMA.Tables where table_name='flume_json'"
;
String
isTableExist
=
"select table_name from INFORMATION_SCHEMA.Tables where table_name='"
+
tableName
+
"'"
;
ResultSet
tableResult
=
st
.
executeQuery
(
isTableExist
);
ResultSet
tableResult
=
st
.
executeQuery
(
isTableExist
);
if
(
"false"
.
equals
(
tableResult
.
next
()+
""
))
{
if
(
"false"
.
equals
(
tableResult
.
next
()+
""
))
{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
initArray
.
getString
(
0
));
String
createTableSql
=
"create table flume_json (id int PRIMARY key AUTO_INCREMENT,type varchar(20),data text,"
+
Iterator
<
String
>
keys
=
jsonObject
.
keySet
().
iterator
();
"file_name varchar(40),create_time datetime);"
;
while
(
keys
.
hasNext
())
{
String
column
=
keys
.
next
();
columns
=
columns
+
column
+
","
;
columnList
.
add
(
column
);
}
String
createTableSql
=
"create table "
+
tableName
+
"(id int PRIMARY key AUTO_INCREMENT"
;
String
columnSql
;
for
(
String
column
:
columnList
)
{
columnSql
=
","
+
column
.
trim
()
+
" varchar(100)"
;
createTableSql
=
createTableSql
+
columnSql
;
}
createTableSql
=
createTableSql
+
",file_name varchar(30),create_time datetime);"
;
st
.
execute
(
createTableSql
);
st
.
execute
(
createTableSql
);
}
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
new
Date
());
c
.
add
(
Calendar
.
MONTH
,
-
1
);
Date
m
=
c
.
getTime
();
String
mon
=
sdf
.
format
(
m
);
DELETE_QUERY
=
"DELETE FROM flume_json where create_time<'"
+
mon
+
"';"
;
st
.
execute
(
DELETE_QUERY
);
String
values
=
""
;
String
values
=
""
;
for
(
Object
data
:
initArray
)
{
for
(
Object
data
:
initArray
)
{
JSONObject
dataJson
=
JSONObject
.
parseObject
(
data
.
toString
());
JSONObject
dataJson
=
JSONObject
.
parseObject
(
data
.
toString
());
Iterator
<
String
>
keys
=
dataJson
.
keySet
().
iterator
();
columns
=
"type,data,file_name,create_time"
;
while
(
keys
.
hasNext
())
{
values
=
"'"
+
initObject
.
get
(
"type"
).
toString
()+
"','"
+
dataJson
+
"','"
+
fileName
+
"','"
+
sdf
.
format
(
new
Date
())+
"'"
;
String
index
=
keys
.
next
();
INSERT_QUERY
=
"INSERT INTO flume_json ("
+
columns
+
") values ("
+
values
+
")"
;
columns
=
columns
+
index
+
","
;
values
=
values
+
"'"
+
dataJson
.
get
(
index
)+
"'"
+
","
;
}
columns
=
columns
+
"file_name,create_time"
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
values
=
values
+
"'"
+
fileName
+
"','"
+
sdf
.
format
(
new
Date
())+
"'"
;
INSERT_QUERY
=
"INSERT INTO "
+
tableName
+
"("
+
columns
+
") values ("
+
values
+
")"
;
System
.
out
.
println
(
"数据新增语句:"
+
INSERT_QUERY
);
System
.
out
.
println
(
"数据新增语句:"
+
INSERT_QUERY
);
PreparedStatement
insertStmnt
=
this
.
connection
.
prepareStatement
(
INSERT_QUERY
);
PreparedStatement
insertStmnt
=
this
.
connection
.
prepareStatement
(
INSERT_QUERY
);
insertStmnt
.
execute
();
insertStmnt
.
execute
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment