Apache Flink

這是個計算引擎, 號稱" 4G of Big Data" (note1), 快, 易用,開源, 效能佳, 但沒有儲存系統

  • Batch Processing
  • Interactive processing
  • Real-time stream processing
  • Graph Processing
  • Iterative Processing
  • In-memory processing

Flink is an alternative of Mapreduce, it processes data more than 100 times faster than MapReduce.

Flink is independant from hadoop but it can use hdfs to read, write, store, process the data. Flink does not provide its own data storage system.it takes data from distributed storage.

Flink  ecosystem:   (note2)

apache-flink-ecosystem-components

 Storage: 讀寫別家的資料庫大概都沒什麼問題

  • HDFS – Hadoop Distributed File System
  • Local-FS – Local File System
  • S3 – Simple Storage Service from Amazon
  • HBase – NoSQL Database in Hadoop ecosystem
  • MongoDB – NoSQL Database
  • RBDBMs – Any relational database
  • Kafka – Distributed messaging Queue
  • RabbitMQ – Messaging Queue
  • Flume – Data Collection and Aggregation Tool

以上都可

Deploy: 能分配部署資源 :

  • Local mode – On single node, in single JVM
  • Cluster – On multi-node cluster, with following resource manager
    • Standalone – This is the default resource manager which is shipped with Flink
    • YARN – This is very popular resource manager, it is part of Hadoop, introduced in Hadoop 2.x
    • Mesos – This is a generalized resource manager.
  • Cloud – on Amazon or Google cloud

Runtime :

the Distributed Streaming Dataflow, which is also called as kernel of Apache Flink. This is the core layer of flink which provides distributed processing, fault tolerance, reliability, native iterative processing capability, etc.

主從架構:

maxthonsnap20170216092524

 

特色:

  • Streaming – Flink is a true stream processing engine.
  • High performance – Flink’s data streaming Runtime provides very high throughput
  • Low latency – Flink can process the data in sub-second range without any delay
  • Event Time and Out-of-Order Events – Flink supports stream processing and windowing where events arrive delayed or out of order
  • Lightning fast speed – Flink processes data at lightning fast speed (hence also called as 4G of Big Data)
  • Fault Tolerance – Failure of hardware, node, software or a process doesn’t affect the cluster
  • Memory management – Flink works in managed memory and never get out of memory exception
  • Broad integration – Flink can be integrated with various storage system to process their data, it can be deployed with various resource management tools. It can also be integrated with several BI tools for reporting
  • Stream processing – Flink is a true streaming engine, can process live streams in sub-second interval
  • Program optimizer – Flink is shipped with an optimizer, before execution of a program it is optimized
  • Scalable – Flink is highly scalable. With increasing requirements we can scale flink cluster
  • Rich set of operators – Flink has lots of pre-defined operators to process the data. All the common operations can be done using these operators
  • Exactly-once Semantics – It can maintain custom state during computation
  • Highly flexible Streaming Windows – In flink we can customize windows by triggering conditions flexibly, to get required streaming patterns. We can create window according to time t1 to t5 and data driven windows.
  • Continuous streaming model with backpressure – Data streaming applications are executed with continuous (long lived) operators. Flink’s streaming engine naturally handles backpressure.
  • One Runtime for Streaming and Batch Processing – Batch processing and data streaming both have common runtime in flink
  • Easy and understandable Programmable APIs – Flink’s APIs are developed in a way to cover all the common operations, so programmers can use it efficiently.
  • Little tuning required – Requires no memory, network, serializer to configure

初看這Apache Flink, 電視台轉型需用到,以往直播用SNG車, 上衛星, 現在改串流技術,  光這樣成本就不知省多少,用途滿廣, 也可處理髒資料,推薦產品用, 作預測.

 

(note1: http://data-flair.training/blogs/apache-flink-production-fortune-500-companies-top-real-world-use-cases/)

(note2: data-flair.training/blogs/apache-flink-comprehensive-guide-tutorial-for-beginners/)

(Installation:

)

 

 

 

Sentiment analysis

  • 收集分析意見,態度,意向
  • 用在品牌行銷管理,收集消費者, 用在選民意向,  外匯走勢…等等,  發現資料的深度意義.

分2種:

1

  • Subjectivity/objectivity identification (主客觀認定)

以文字句子分析對主客觀分類

classifying a given text (usually a sentence) into one of two classes: objective or subjective.

2

基於特色的分析

  • Feature/aspect-based sentiment analysis

It refers to determining the opinions or sentiments expressed on different features or aspects of entities, e.g., of a cell phone, a digital camera, or a bank. (在不同裝置上的各種意見)

A feature or aspect is an attribute or component of an entity, e.g., the screen of a cell phone, the service for a restaurant, or the picture quality of a camera.  (特色是實體的一個屬性)

The advantage of feature-based sentiment analysis is the possibility to capture nuances about objects of interest.  ( 可以抓一些關於偏好比較細微之處)

  • 方法

1 knowledge-based techniques
2 statistical methods
3 hybrid approaches

新媒體的分析就是要用到 sentiment analysis.  從 blog, weibo 抓出偏好.

online opinion has turned into a kind of virtual currency for businesses" ,這是商機之所在.

democratizing data mining of all the content that is getting published."

“As businesses look to automate the process of filtering out the noise, understanding the conversations, identifying the relevant content and actioning it appropriately, many are now looking to the field of sentiment analysis."

用在machine learning , 分辨贊成 和反對的意見. 找用戶的意向,  根據這偏好, 跟用戶推薦, 用Python,

這有個簡單的介紹:

舉個例子

在twitter 上,找 “Sentiment analysis" 這句話的Feature,

果然找到很多意向,偏好,

例如, Brexit這議題,就很適合做 sentiment analysis. 這樣民意可以徹底反映出來.

Twitter Reveals That the UK Will Vote to Leave the EU
http://bit.ly/22GpS2Q
Twitter sentiment analysis.

20160606-Brexit

分析結果的呈現 又跟資料的視覺化有關聯, 我是有用一些資料視覺化軟件,

這領域我很喜歡,是很好創新方向

  • 台大 企業風險管理與商業情報分析研究中心

隨Web2.0概念風行全球,每天有上百萬筆資訊,在網路世界流竄,資訊流通的速度,更多也更快了。更添企業進行質化分析的難度,若分析的資訊豐富度不夠完整,則判斷未來的風險不小。商業情報分析要有新突破,要能在很短的時間內,更有效的蒐集和分析大量的質化資訊。所以透過先進技術,應用在商業情報分析,不但能在最快的時間,掌握世界各角落的資訊,也能讓資訊工程帶動商管的成長,並有效控制企業經營風險。

文字探勘(Text mining)技術不只能分析,媒體記者報導的文章內容,也可以分析散落於網路世界各個部落格的網誌、政府網站等公開資訊內容,事實上很多資訊,在正式管道還未公開前,已經可以在部落格上,看到端倪。像是在部落格的文章,多少帶有部落客的「情緒反應」,透過系統分析,可為文章內的關鍵文字,下「分數」,企業可以根據最後總分的分析結果,做為評估決策判斷的參考,尤其目前這方面之技術成熟度已相當高。

傳統負責銀行貸款的受信業務的人員,在評估放款風險時,以往只能從財務報表與基本書面資料,執行人為判斷,不免有判斷失誤的風險。但透過系統分析,可理清該公司的企業關係網絡(social network)及經營者之人格特質與社會評價,據此可做出更準確之授信風險評估。故若能運用資料與文字探勘(data and text mining)技術,同時有系統的分析財務資訊與網路上「文字類」的商業資訊,結合量化與質化分析,強化商業情報的可信度,協助企業更有效的制訂決策與管控風險。

臺大管理學院「企業風險管理(ERM)與商業情報(Business Intelligence)分析研究中心」未來將整合院內不同系所老師與博士班學生,結合產業資源長期有深度跨議題共同合作,此外本中心未來將與本院「校特聘講座教授」陳炘鈞博士位於美國的研究中心,進行雙邊資源共享交流,帶動本院跨領域之研究風氣,創造世界頂尖之研究領域,最後把研究結果從學界延伸到實務界,帶動台灣產業快速成長。

 

(Ref:http://www.management.ntu.edu.tw/research/research_8)

 

(Ref: How to Use Social Media Sentiment Analysis in Your Listening?)

(Ref: https://en.wikipedia.org/wiki/Sentiment_analysis  )

XBRL

可擴展商業報告語言(eXtensible Business Reporting Language,XBRL)
用於商業和財務信息的定義和交換

XBRL作用
企業的各種信息,特別是財務信息,都可以通過XBRL在計算機網際網路上有效地進行處理
通過XBRL就可以很方便地轉檔. 書面文字、PDF文件、HTML頁面或者其他相應的文件格式

XBRL 對於資料輸出處理將更方便,  可以降低資料採集,  報表重新編製的成本, 用這語言,  企業資料彙整,分析,比較,排序, 才方便, 做數據分析需要.

XBRL+IFRS  應該是跟國際越來越接軌了. 後面的加值應用就很多了

(Ref: http://www.twse.com.tw/ch/about/press_room/tsec_news_detail.php?id=3119)

(Ref:https://en.wikipedia.org/wiki/XML)

決策樹

  • 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法
  • 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别

是一個風險評估和預測的好工具.  最近也在看賽局理論,   這是我以前英國同學的學術專長.  decisoin tree 的觀念的應用無所不在, 想辦法讓理論生活化, 應用化, 讓這些決策工具應用在自己的人生. 企業裡懂這些決策工具的高層主管也不多, 但我很多年前以前真的遇到一個年輕主管 非常會做決策,  所做的決定都很漂亮,  每批貨, 每個價格, 條款, 客戶之間的平衡拿捏很不錯.   工廠裡,品保系統 有些也是有用決策樹 , 尤其狀況混沌不明時, 新產品開發遇到很多瓶頸, 每個瓶頸都是一個決策點. 生活裡,剪刀石頭布也是一種決策遊戲, 幾個人同時剪刀時頭布, 最後選出人選, 或事件. 這要當成心法來練, 做決策用的到.

从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树

一个决策树包含三种类型的节点:
  1. 决策节点:通常用矩形框来表示
  2. 机会节点:通常用圆圈来表示
  3. 终结点:通常用三角形来表示

20160528-decisiontree-chart

决策树学习也是资料探勘中一个普通的方法

在这里,每个决策树都表述了一种树型结构,它由它的分支来对该类型的对象依靠属性进行分类

每个决策树可以依靠对源数据库的分割进行数据测试

所以 大數據資料對決策樹能有幫助. 最好把Python 學好, Python 語言極適合處理大數據的髒資料.

(Ref:http://baike.baidu.com/view/589872.htm)

 

 

 

 

 

 

 

 

推荐算法

好的Sales 就是會掌握這些銷售相關技術.

Sales 根據業務特性對客戶分類,並挑出好客戶, 精準投放行銷訊息.

  • 推荐算法

利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西

通过用户数据、行为数据、商品等特征数据,预测出用户对公司产品的需求,正是销售核心问题的妙解

推薦算法, 運用用戶,行為, 商品的相關數據,預測用戶對公司產品的需求, 解決 Sales 的問題.

  • 基本原理: 掌握 客戶與產品的屬性和相關性20160528-推薦算法-基本原理
  • 實作的流程:

篩選出特徵值,  建模, 預測結果應用, 與演算法優化

以前這種選擇都是Sales 自己的人工判斷, 現在用大數據篩選, 好公司都已經在用了.

  • 推荐算法主要分为6种:

根據內容

根據协同过滤

根據关联规则

根據效用

根據知識

根據组合推荐

  • 6種的優缺點

20160528-推薦算法-優缺點

我最近又有在看大數據這主題,  能用文字表達的心得,盡量寫下來.

行銷 需要應用這些新觀念,新工具. 所以要理解這方面的商業應用.

(Ref : http://baike.baidu.com/view/5909535.htm)

 

 

 

 

 

關於 Data Capital

資料數據做為競爭優勢都是很新的觀念.

發覺這資料的3個原則:

Principle #1: Data comes from activity.
Principle #2: Data tends to make more data.
Principle #3: Platforms tend to win

“活動", 就像是發現新大陸一樣,

找出哪些活動比較有價值
所有活動會產生資訊. 但要用一些應用或感測器,才會產生數位資料.

重點: It’s difficult to know which activities will yield the most valuable data.

應該: focus on activities that reinforce its competitive advantage, the things that make it unique.

應該: 先看企業的最大利潤和主要成本

Digitizing activities:資料數據化

Datafying activities:擴大觀察

Datification: 建最小的數據

這是競爭優勢的新概念. 服務業,流通業 已經廣泛在運用, 但各行各業在運用上有差異.  重視資料價值, 肯定是大方向, 可以降低企業很多不理性的決策.

Creating new value with data

20151101_smartconnectedproduct

大數據30款分析工具

當高中生為課綱史觀抗爭, 爭辯意識形態,  我正讀著對岸的數據理解與發展.

知青, 只有虛心學習,日以繼夜, 能爭辯的機會不多.

很少在FB 上看到誰談數據分析這一行, 台灣沒有這一行. 也許是太機密, 科技行業沒有國界更沒也意識形態, 如果還想待在這相關行業或這國家還想搞科技業, 大家早早客觀認清現實與差距. 並提高視野.

留學英國時就見識到大陸菁英的厲害,  不用忌妒,直接觀摩學習"後發優勢".

兩岸社會關注的深度與廣度已漸行漸遠.

沒有時間浪費, 跟著觀摩,虛心學習. 哪裡好, 學哪裡.

廣告人留意big data,學校那些廣告學,基本上自己買本書來k 就搞定了,  學校教育已經過時.

Big data 應該有很多資料分析工具, 分析工具追蹤很多東西, 像手機app的使用行為,

借用分析工具,来跟踪和分析App内的每一个部分, 监测发生在App中的每一个细小的事件

我找到以下30款分析工具, 可Google 一下把它找出來

  • 用户人群细分

1、Upsight (含付费项目)

Upsight是供移动应用开发人员使用的分析工具

  • 功能包括:用户分组、漏斗分析、留存分析、应用内购买组件和无限的数据存储空间
  • Upsight支持几乎所有移动平台,包括iOS、安卓、Java Script、Adobe Air等等。

2、Tap stream (免费)

Tap stream的亮点在于对用户生命周期的分析

如果你想知道用户每天都在哪里搜索你App的信息、或者他们在某个渠道上的实际下载频率,Tap stream将成为值得你信赖的信息源

Tap stream支持iOS、Android、Windows和Mac应用程序。

3、Flurry Analytics (免费)

Flurry几乎是移动应用分析的行业标准

Flurry帮助你跟踪用户会话,以便您可以看到用户在操作App时遇到了什么困难

你也可以创建自定义人群分组,以求更好地了解App的用户群体。

4、Capptain (含付费项目)

Capptain是一款实时分析工具,它看起来就像是一组数据仪表板。不仅为你跟踪实时发生的用户行为,更可以监测到用户的使用反馈,甚至将用户群体进行实时分组,基于用户的地理位置向他们发送即时消息等等

Capptain适用于iOS、Android,HTML 5,黑莓,Windows等平台。

5、Followapps – App精细化分析平台

6、MobileAppTracking – 用户数据跟踪与预测模型

  • 触屏热点分析

7、HeatMa.ps热图 (需付费)

热图是为数不多的App热区追踪工具。热图帮助App开发人员记录所有屏幕触碰、手势(扩大/缩放/滑动)和设备定位。你甚至可以得到详细的用户触屏热点分布图。唯一的遗憾是,热图仅支持iOS App。

8、Heat Data (需付费)

Heat Data是另一个移动应用及网站的热区工具。你可以跟踪你的用户触及屏幕时所发生的所有行为:点击、滑动、伸缩放等等,并获得详细的可视化分析报告。Heat data是跨平台的,你要做的全部事情就是复制一行JS代码嵌入你的App并使用它。但如果你不想在你的App里嵌入JS,那么你就需要使用另一个工具。

  • 应用内购买行为跟踪

9、Appsflyer (含付费项目)

Appsflyer是一款自带分析功能的一体化营销工具

你可以在同一款工具内跟踪应用内购买、软件安装情况和用户使用表现

除了支持主流的iOS、Android和Windows系统外,Appsflyer还支持其它平台与引擎,包括:Unity、Marmalade、Appcelerator等。可谓是真正地实现了全平台支持。

10、Appfigures (含付费项目)

Appfigures可以在追踪事件的同时,监测事件相关的应用内销售情况

Appfigures汇集了来自不同渠道的应用评分、下载量和支付金额,并予以呈现

Appfigures同样适用于iOS、Android和Mac平台。他们也提供API接口,便于你使用和获取任何其它你想要的东西。

11、Swrve – 应用内购买分析平台

渠道追踪、广告投放于应用评分

12、Apsalar (含付费项目)

Apsalar是专供大型应用程序商店使用的数据分析。除了基本的用户分析功能以外,Apsalar还拥有强大的广告管理组件。

13、App Annie (含付费项目) :

這應該不少人知道吧

App Annie是很个性的分析工具,它不再分析用户活动,而只跟踪应用的下载量与销量

无论是iTunes、Google Play还是亚马逊商店,你都可以通过App Annie直接了解App的下载量、评级、评论和排名。

14、Askingpoint (含付费项目)

Askingpoint的亮点同样在于对App评分的跟踪。事实上,它的主要功能就是通过提示让更多地用户来评论你的App

借助这款工具,还是可以帮助开发者更简单地获取并跟踪评论的。

15、Distimo’s AppLink

跨平台的渠道分发与转换率跟踪工具

他们还有自己的App,帮你随时随地监测App运营数据

16、Trademob – 移动营销分析

17、Adxtracking – App内广告运作、优化与分析工具

  • 基本数据统计

18、亚马逊移动分析 (免费)

移动数据分析只是亚马逊庞大生态链中的一个部分,是一款跨平台的基本分析工具。你可以用它跟踪你发布在的iOS、安卓,当然还有亚马逊平台的应用。它拥有你所能想到的所有典型的数据分析功能。同时它还拥有A/B Test的功能,帮助运营者在一个应用上测试不同的运营模式。

19、Roambi (需付费)

Roambi专注于服务大型研发团队。这是个3合1分析工具,它集成了基本数据分析、移动应用的BI报告和程序异常预警等三大功能。Roambi还允许你将数据回传到其Box组件中,生成易于团队成员阅读的数据报告。

20、App celerator(含付费项目)

App celerator的主要业务是手机应用的整合营销组件,但是他们的应用分析工具也足以独当一面。在App celerator工具里,你可以跟踪新用户和自定义事件的会话时长。

21、Countly (含付费项目)

Countly是一个开源的移动应用分析工具。与大多数开源项目不同的一点是,Countly实际上相当漂亮的。通过Countly你能很容易地看到你的App在不同的平台、屏幕大小和设备上的分布情况。

22、Kontagent – 移动应用数据分析组件

23、Claritics – App BI数据分析

24、Appsee – 可视化移动应用分析

25、Yozio – 移动应用数据动态跟踪

26、AppsFlyer – 移动应用的检测和数据跟踪

27、Telerik – 移动应用分析

  • 专注手游分析

28、Honey tracks (含付费项目)

Honey tracks的不同点在于,它专注于游戏的移动应用分析

Honey tracks被配置来帮助游戏工作室跟踪超过90项的指标,包括手游用户的参与度和留存分析。

29、Playtomatic (免费)

Playtomatic也是一款开源App分析工具,但它更专注于手游领域。Playtomatic帮助游戏开发者追踪游戏玩家的在手游内的地理位置和成就,支持多个平台,包括:iOS、Android、JavaScript、HTML 5,Unity 3D引擎等等。

30、Applicasa – 手机游戏管理平台

如你所见,国外目前已经有许多工具可以帮助开发者跟踪和评估App运营数据。开发者和运营者们不妨尝试其中几款,集合其各自的最佳功能,开满足你自己的开发需求吧!

遗憾的是,国内目前的移动应用统计工具还非常简单,所统计的数据维度也相对单一。希望在不久的将来,国内的移动应用及网页统计分析工具也能百花齐放、百家争鸣吧!

  • 分析統計工具的開發是一個業界發展的方向 , 讓我想起常在FB抒發產學觀點的洪教授, 台灣科技業要能走到這裡, 不知何年何月,  青春年少也就在這科技的演化中漸漸消逝.
  • 再來我想質化分析一下 哪些企業有用那些工具.  能不斷吸收運用好工具在工作上 不以現狀自滿, 這種公司值得認識一下.

大數據, 在哪裡?

現在很多大數據的消息, 相當熱門,但真實裡概念比較多, 實踐比較少, 談數據比較多, 看到數據比較少. 所以我觀察一下 到底哪裡有這些大數據?

1 政府資料開放平台 : http://data.gov.tw/data_list

2.臺灣資料開放平臺 http://datataiwan.com/

3.商業數據分析, “ 數據熊貓" http://www.datapanda.net/123/

4. UCI machine learning repository
https://archive.ics.uci.edu/ml/datasets.html

  1. 數據堂: http://datatang.com/
  2. ML comp : http://mlcomp.org/

  3. Kaggle (http://www.kaggle.com/),
    是一个进行数据发掘和预测竞赛的在线平台,包括Facebook在内诸多公司都在这里提供数据

  4. Easy Soft Home, 紡織平台 http://easysofthome.com 收集了大量进出口纺织产品贸易海关数据,做家用品的人值得看

9.

.big data

我blog有寫過 接口, 大數據相關課程和閱讀書單.

bigdataonlinecourse

intel big data framwork

%d 位部落客按了讚: