原创 記錄峨眉山兩日遊(附帶徒步登山攻略)

前言 不是什麼旅行達人,寫這篇遊記也是突發奇想。當時的我正在複習PMP的考試,不知怎麼思緒就突然轉變到了峨眉山,突然就強烈地想要寫下一篇攻略。可能是最近看了《攀登者》,聯想到我用了11個小時爬上了2500米的高度(垂直高度2000

原创 Spark報錯(二):關於Spark-Streaming官方示例wordcount運行異常

關於Spark-Streaming官方示例: https://github.com/apache/spark/tree/master/examples 本文采用kafka作爲spark輸入源 運行時出現以下日誌: 18/09/

原创 GitChat文章推薦

GitChat上發表的第一篇文章,希望大家多多支持。現在正在着手準備Elasticsearch全系列達人課,從入門到原理深入,篇幅會比較長,寫得非常細。 跳轉鏈接:Elasticsearch 實戰應用系列 跳轉鏈接:日誌系統技術選

原创 Elasticsearch乾貨(一):Elasticsearch鎖機制(併發控制)

Elasticsearch和數據庫一樣,在多線程併發訪問修改的情況下,會有一個鎖機制來控制每次修改的均爲最新的文檔。大體上主要有樂觀鎖和悲觀鎖兩類。 樂觀鎖 在Elasticsearch通過_version來記錄文檔的版本,在

原创 Spark報錯(一):java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

報錯如下: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most r

原创 Elasticsearch原理(一):實時架構

Elasticsearch的核心優勢就是近乎實時,爲什麼說是近乎實時而非真實意義上的實時呢,因爲Elasticsearch能夠做到準實時,而並不是完全的實時。下面介紹Elasticsearch是如何索引數據的整個流程。 先上圖:   首

原创 Elasticsearch原理(八):嵌套結構的實現

我們在使用Elasticsearch的過程中,很多業務場景都會用到關聯查詢。而目前Elasticsearch支持的關聯查詢無非就是兩種方式,一種使用嵌套(nested)和父子文檔。本文主要來聊聊關於nested,Elasticse

原创 Elasticsearch性能優化指南

本場 Chat 將從 4 個層面(系統、集羣、索引、API)介紹 Elasticsearch.優化方案,分別包括寫入的優化和查詢的優化。共包含優化細項 50 餘項。總結了與多位大咖的交流經驗,在此分享給大家。我會針對優化原理做一些

原创 Elasticsearch乾貨(九):queryString中檢索詞加不加引號?

對於剛接觸搜索或者Elasticsearch的小白來說對queryString可能接觸的不多,但是對於早期從事搜索的人來說queryString並不會陌生,它可以理解成檢索表達式,但並不是elasticsearch的queryDS

原创 深入理解 Elasticsearch 嵌套、聚合、排序

原文地址:深入理解 Elasticsearch 嵌套、聚合、排序 由淺入深,一步步實現嵌套+聚合+排序的複雜的檢索表達式,並附帶 Java 代碼示例。讀者可以根據實際使用場景,合理組織開發檢索表達式。本文的宗旨是讓讀者減少學習

原创 教你如何寫Bug:Google Guava源碼分析之——Joiner

我們在碼磚的過程中,經常會遇到List轉字符串、字符串轉List這類需求,當然這不僅僅是單純的轉字符串,而是加入了一個連接符。比如:將一個list轉換成以","分隔的字符傳,這個時候僅僅使用list.toString()是做不到的。初

原创 Canal報錯:Could not find first log file name in binary log index file

報錯信息: at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102)

原创 如何在JavaBean中使用關鍵字命名對象

我們在bean中創建變量時,可以回不得已要使用關鍵字命名對象,因爲有時候json轉bean時,json中的key是可以以關鍵字命名的,但bean中是不允許以關鍵字命名變量。 我們可以使用註釋修飾關鍵字變量: import com.al

原创 Spark報錯(三):Spark task not serializable

原因分析 我們在做spark開發是會遇到這個報錯:“org.apache.spark.SparkException: Task not serializable”。字面意思就是task沒有被序列化。報這個錯的原因就是由於我們在map等

原创 最全JSON格式字符串、JSON對象、JavaBean之間的相互轉換及遍歷

本文中的json基於FastJson,並且推薦大家使用。FastJson相比Gson,效率更好一些,對於不是特別複雜的JSON,可以選擇。 JSON格式字符串與JSON對象 字符串 轉 JSON JSONObject jsonOb