This commit is contained in:
Leufolium 2024-09-24 12:15:44 +08:00
parent bff496deb1
commit 0128f9b8ac
2 changed files with 39 additions and 39 deletions

View File

@ -10,28 +10,14 @@ import (
func GenerateUserIdMap() { func GenerateUserIdMap() {
list := make([]int64, 0) list := make([]int64, 0)
for i := int64(1000000); i < 100000000; i++ { for i := int64(1000000); i < 10000000; i++ {
list = append(list, i) list = append(list, i)
} }
rand.Shuffle(99000000, func(i, j int) { rand.Shuffle(9000000, func(i, j int) {
list[i], list[j] = list[j], list[i] list[i], list[j] = list[j], list[i]
}) })
j := 1 pathurl := "/Users/Caeru/Desktop/file/user_id_map.txt"
for i := 0; i < len(list); i += 1000000 {
lower := i
upper := i + 999999
if upper >= len(list) {
upper = len(list) - 1
}
WriteAsList(list[lower:upper], j)
j++
}
}
func WriteAsList(list []int64, seq int) {
pathurl := fmt.Sprintf("/Users/Caeru/Desktop/file/user_id_map%v.txt", seq)
outfile, err := os.OpenFile(pathurl, os.O_WRONLY|os.O_CREATE, 0666) outfile, err := os.OpenFile(pathurl, os.O_WRONLY|os.O_CREATE, 0666)
if err != nil { if err != nil {
fmt.Printf("Open File Err : %v", err) fmt.Printf("Open File Err : %v", err)
@ -42,8 +28,7 @@ func WriteAsList(list []int64, seq int) {
writer := bufio.NewWriter(outfile) writer := bufio.NewWriter(outfile)
for i := range list { for i := range list {
outfile.WriteString(fmt.Sprintf("%v:%v\n", 1000000*seq+i, list[i])) outfile.WriteString(fmt.Sprintf("%v:%v\n", 1000000+i, list[i]))
} }
writer.Flush() writer.Flush()
fmt.Printf("%dth file has generated\n", seq)
} }

View File

@ -1,10 +1,13 @@
package importfunc package importfunc
import ( import (
"bufio"
"context" "context"
"fmt" "fmt"
"math/rand" "io"
"time" "os"
"strconv"
"strings"
"data_prep/dbstruct" "data_prep/dbstruct"
"data_prep/mongo" "data_prep/mongo"
@ -21,18 +24,37 @@ func ImportUserIdMap() {
userIdMaps := make([]*dbstruct.UserIdMap, 0) userIdMaps := make([]*dbstruct.UserIdMap, 0)
// 打乱 pathurl := "/app/file/user_id_map.txt"
list := make([]int64, 0) infile, err := os.Open(pathurl)
for i := int64(1000000); i < 10000000; i++ { if err != nil {
list = append(list, i) fmt.Printf("Open File Err : %v", err)
return
} }
rand.Shuffle(9900000, func(i, j int) { reader := bufio.NewReader(infile)
list[i], list[j] = list[j], list[i]
})
for i := range list { for {
seq := int64(1000000) + int64(i) str, err := reader.ReadString('\n')
userId := list[i] if len(str) == 0 {
continue
}
if err == io.EOF {
err := mcli.CreateMappedUserIds(ctx, userIdMaps)
if err != nil {
fmt.Printf("CreateMappedUserIds err :%v", err)
}
break
}
str = strings.ReplaceAll(str, "\n", "")
str = strings.ReplaceAll(str, "\r", "")
strs := strings.Split(str, ":")
seq, err := strconv.Atoi(strs[0])
if err != nil {
fmt.Printf("Atoi err :%v", err)
}
userId, err := strconv.Atoi(strs[1])
if err != nil {
fmt.Printf("Atoi err :%v", err)
}
userIdMaps = append(userIdMaps, &dbstruct.UserIdMap{ userIdMaps = append(userIdMaps, &dbstruct.UserIdMap{
Seq: int64(seq), Seq: int64(seq),
UserId: int64(userId), UserId: int64(userId),
@ -43,16 +65,9 @@ func ImportUserIdMap() {
fmt.Printf("CreateMappedUserIds err :%v", err) fmt.Printf("CreateMappedUserIds err :%v", err)
} }
userIdMaps = make([]*dbstruct.UserIdMap, 0) userIdMaps = make([]*dbstruct.UserIdMap, 0)
time.Sleep(time.Second)
}
}
if len(userIdMaps) > 0 {
err := mcli.CreateMappedUserIds(ctx, userIdMaps)
if err != nil {
fmt.Printf("CreateMappedUserIds err :%v", err)
} }
} }
infile.Close()
fmt.Printf("Import into test success") fmt.Printf("Import into test success")
} }