我需要添加一個篩選器條件而攝入數據從一個宇宙Mongo DB使用磚,
我使用以下查詢攝取宇宙收集的數據:
df =火花。讀\
.format \ (“com.mongodb.spark.sql.DefaultSource”)
.option (“uri”, sourceCosmosConnectionString) \
.option(“數據庫”,sourceCosmosDocument) \
.option(“集合”,sourceCosmosCollection) \
.load ()
我如何添加一個過濾器來選擇隻有選定的數據?我隻是想攝取數據的地方{“類型”:“學生”}
我會很感激如果任何人都可以幫助
我給一試以下查詢但得到錯誤如下:
查詢={“類型”:“學生”}
df =火花。讀\
.format \ (“com.mongodb.spark.sql.DefaultSource”)
.option (“uri”, sourceCosmosConnectionString) \
.option(“數據庫”,sourceCosmosDocument) \
.option(“集合”,sourceCosmosCollection) \
.option(“管道”,json.dumps(查詢))\
.load ()
錯誤:
org.apache.spark。SparkException:工作階段失敗而終止:任務0階段16.0失敗了4次,最近的失敗:在舞台上失去了任務0.3 16.0 (TID 34)(10.139.64.5執行人0):com.mongodb。MongoCommandException:命令失敗與錯誤40324(40324):“識別管道階段名稱:類型”服務器xxxxxxx-xxxxx.mongo.cosmos.azure.com: 10255。完整的反應是{" ok ": 0.0,“errmsg”:“識別管道階段名稱:類型”,“代碼”:40324年,“代號”:" 40324 "}
嗨@Swapnil Sarkar,錯誤消息意味著你聚合的藝名管道請求並不認可。解決方案將確保所有聚合管道的名字在你的請求是有效的。
這文章描述常見的錯誤和解決方案部署使用MongoDB的Azure宇宙DB。
試試這個:-
查詢={$匹配:{“類型”:‘學生’}}
df =火花。讀\.format \ (“com.mongodb.spark.sql.DefaultSource”).option (“uri”, sourceCosmosConnectionString) \.option(“數據庫”,sourceCosmosDocument) \.option(“集合”,sourceCosmosCollection) \.option('pipeline', query) \ .load()
嗨@Swapnil Sarkar,錯誤消息意味著你聚合的藝名管道請求並不認可。解決方案將確保所有聚合管道的名字在你的請求是有效的。
這文章描述常見的錯誤和解決方案部署使用MongoDB的Azure宇宙DB。
試試這個:-
查詢={$匹配:{“類型”:‘學生’}}
df =火花。讀\.format \ (“com.mongodb.spark.sql.DefaultSource”).option (“uri”, sourceCosmosConnectionString) \.option(“數據庫”,sourceCosmosDocument) \.option(“集合”,sourceCosmosCollection) \.option('pipeline', query) \ .load()
完成