目前在用的是社區(qū)版的infobright,不支持DML功能,只能用LOAD DATA方式導(dǎo)入數(shù)據(jù)。
如果元數(shù)據(jù)中有特殊控制字符,導(dǎo)入過程中經(jīng)常會(huì)報(bào)錯(cuò),很是惱火。應(yīng)對(duì)策略有兩種方法:
1.設(shè)置Reject File導(dǎo)入之前,設(shè)定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少條導(dǎo)入失敗的記錄,并且將這些記錄保存在指定文件
也可以設(shè)置 BH_ABORT_ON_THRESHOLD 選項(xiàng),該選項(xiàng)表示有最多多少百分比的數(shù)據(jù)允許被忽略,因此該選項(xiàng)的值是小數(shù)格式,例如 BH_ABORT_ON_THRESHOLD = 0.03(表示3%)
2.導(dǎo)出時(shí)指定結(jié)束符此外,還可以在導(dǎo)出數(shù)據(jù)時(shí)制定結(jié)束符,并且設(shè)定忽略哪些轉(zhuǎn)義字符(/、”、' 等字符),例如:
3.或者,將行間隔符設(shè)定為其他特殊標(biāo)識(shí),例如:select fields_list… into outfile ‘/tmp/outfile.csv' fields terminated by ‘||' ESCAPED BY ‘//' lines terminated by ‘$$$$$/r/n' from mytable;當(dāng)然了,這種情況下,實(shí)際數(shù)據(jù)行中就不能存在 “$$$$$/r/n” 這個(gè)值了,否則會(huì)被當(dāng)成換行標(biāo)識(shí)。
新聞熱點(diǎn)
疑難解答
圖片精選