因需要通過任務的方式執行將文字的資料匯入到hive資料庫中。所以考慮每次的任務通過命令執行py檔案的方式來實現定時匯入檔案到hive資料庫中。所以先做了乙個測試,但是出行一些問題,現記錄下來,供以後檢視。
測試指令碼如下:
#create hive table
spark.sql("use oracledb ")
spark.sql("create table if not exists t_lnt_basic_cardinfo_kf (lcn string, is_time string,is_type string,is_area string,card_type string,purse_type string,card_mark string) using hive")
spark.sql("insert into table t_lnt_basic_cardinfo_st select lcn,is_time, is_type, is_area,card_type ,purse_type,card_mark from t_cardinfo_st ")
儲存檔名:cardinfo.py
執行:python3 cardinfo.py 或者spark-submit cardinof.py
出現問題:
1.執行spark.sql("use oracledb")指令碼的時候,出現:
org.apache.spark.sql.catalyst.analysis.nosuchdatabaseexception: database 'oracledb' not found;
的錯誤提示。
將指令碼拷貝到pyspark的命令模式,所有指令碼執行正常。
解決方法:
在開頭的地方引用hive的支援,具體如下,新增粗體部分。
通過sqlldr將txt檔案匯入oracle資料庫
有個專案每天要往資料庫裡插入大量的資料,峰值大概每秒一萬條左右。如果直接用insert語句,即使使用了批量也效果不是很理想。聽說從檔案匯入的方式效率很高,所以嘗試一下。建立乙個表 create table t 20200310 test phone varchar2 20 byte not null...
將csv檔案中的資料匯入MongoDB
在cmd中輸入命令 mongoimport dmydb cuser type csv headline f id,name,password,adress file.user.csv 粗體部分需要替換 d 標示 資料庫 c 標示 資料表 type 匯入的資料型別 file 要匯入的檔案位置 f 需要...
將py檔案編譯為pyc檔案
pyc檔案可以代替py檔案,只需要將pyc檔案更改為何py檔案同名,然後放在py檔案位置處即可。編譯 cd到專案目錄下執行下面命令將py檔案編譯成pyc檔案 此時生成的pyc檔案都在 pycache 目錄中 python3 m compileall 專案路徑 或 python3實現生成的pyc與源 ...