es.nodes.wan.only: false
es.nodes.discovery: true
spark會通過訪問es.nodes中指定的host(可以為多個) 得到es集群所有開啟http服務節點的ip和port,後續對資料的訪問會直接訪問分片資料所在的節點上(需要保證es集群所有節點都能夠被spark集群訪問到)
es.nodes.wan.only: true
es.nodes.discovery: false或不設定
spark傳送給es的所有請求都需要通過這個節點進行**,效率相對比較低
檢視elasticsearch-spark-20_2.11org.elasticsearch.hadoop.cfg.settings 原始碼
public boolean getnodesdiscovery()
public boolean getnodesdataonly()
spark預設寫es的時候refresh的會在每次bulk結束的時候呼叫
我們建議設定為false,有es內部index的 refresh_interval來控制refresh,否則es集群會有大量的執行緒在refesh會帶來很大的cpu和磁碟壓力
es.batch.write.refresh: false 預設是true
控制每次bulk寫入的量
es.batch.size.bytes:1mb 每次bulk寫入文件的大小,預設1mbes.batch.size.entries:1000 每次bulk寫入的文件數,預設是1000
使用者可根據es集群**合理設定
讀相關設定
es.scroll.size: 50, 預設是50 這個值相對來說比較小,可以適當增大至1000-10000es.input.use.sliced.partitions: true 為了提高併發,es會進行scroll-slice進行切分es.input.max.docs.per.partition: 100000 根據這個值進行切分slice
es-spark 讀取 es集群資料的時候,會按照每個分片的總數進行切分做scroll-slice處理:
建議的引數:
es.scroll.size: 2000 //盡量根據文件的大小來選擇es.input.use.sliced.partitions: false
控制需要寫入的文件字段
有時候業務匯入資料的時候,希望有一些欄位不被寫如es,可以設定:
backlog引數理解
listen函式把乙個由socket函式建立的套接字轉換成乙個被動套接字,指示核心接受指向該套接字的連線請求。該套接字也由closed狀態轉換到listen狀態。函式原型 include int listen int sockfd,int backlog 成功返回0,失敗返回 1。listen之後核...
電感引數理解
1.電感的q值 電感的q值,也叫做電感的品質因素,是衡量電感器件的主要引數。指電感器在某一頻率的交流電壓工作下,所呈現的感抗與其等效損耗電阻之比。電感器的q值越高,損耗越小,效率越高。電感的q值與線圈導線的直流電阻 線圈骨架的介質損耗及鐵心 遮蔽罩等引起的損耗等有關。2.電感q值的換算 1 q 2p...
Python引數理解
def power x x 必選引數 return x 2def power x,n 2 n 預設引數 return x n即傳入的引數個數是可變的 def calc numbers numbers 可變引數 print numbers sum 0 for n in numbers sum sum ...