通過py檔案將檔案中的資料匯入到hive遇見的問題

2021-08-20 12:52:11 字數 871 閱讀 7977

因需要通過任務的方式執行將文字的資料匯入到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與源 ...