数据分析过程中都有哪些实用工具?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析过程中都有哪些实用工具?相关的知识,希望对你有一定的参考价值。

以前大数据分析会用到多种工具,比如数仓工具、数据建模工具、BI工具等等。现在的大数据分析平台,都是全能型数据分析平台,一个平台搞定所有。比如亿信一站式数据分析平台,ABI融合了数据源适配、ETL数据处理、数据建模、数据分析、数据填报、工作流、门户、移动应用等核心功能而打造的一站式数据处理分析平台。提供的数据分析工具丰富:除了中国式复杂报表、dashboard、大屏报表外,ABI还支持自助式分析,包括拖拽式多维分析、看板和看板集,业务用户通过简单拖拽即可随心所欲的进行探索式自助分析。 参考技术A 一般做大数据分析,首先会使用到大数据数据库,比如MongoDB、GBase等数据库。其次会用数据仓库工具,对数据进行清洗、转换、处理,得到有价值的数据。然后使用数据建模工具进行建模。最后使用大数据工具,进行可视化分析。
根据以上的描述,我们按过程对用到的工具进行讨论。
1、 大数据工具:数据存储和管理工具
大数据完全始于数据存储,也就是说始于大数据框架Hadoop。它是Apache基金会运行的一种开源软件框架,用于在大众化计算机集群上分布式存储非常大的数据集。由于大数据需要大量的信息,存储至关重要。但除了存储外,还需要某种方式将所有这些数据汇集成某种格式化/治理结构,从而获得洞察力。
2、 大数据工具:数据清理工具
使用数据仓库工具-Hive。Hive是基于Hadoop分布式文件系统的,它的数据存储在HDFS中。Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。
3、 大数据工具:数据建模工具
SPSS:主要用于数据建模工作,功能稳定且强大,能够满足中小企业在业务模型建立过程中的需求。
4、 大数据工具:数据可视化分析工具
亿信华辰一站式数据分析平台ABI,对上述所说的工具,在该平台上都有。亿信ABI提供ETL数据处理、数据建模以及一系列的数据分析服务,提供的数据分析工具丰富:除了中国式复杂报表、dashboard、大屏报表外,ABI还支持自助式分析,包括拖拽式多维分析、看板和看板集,业务用户通过简单拖拽即可随心所欲的进行探索式自助分析。同时,类word即席报告、幻灯片报告,让汇报展示更加出彩。
参考技术B 以前大数据分析会用到多种工具,比如数仓工具、数据建模工具等等。现在一个平台搞定所有,亿信ABI融合了数据源适配、ETL数据处理、数据建模、数据分析、数据填报、工作流、门户、移动应用等核心功能而打造的一站式数据处理分析平台。提供的数据分析工具丰富:除了中国式复杂报表、dashboard、大屏报表外,ABI支持自助式分析,包括拖拽式多维分析、看板和看板集,业务用户通过简单拖拽即可随心所欲的进行探索式自助分析。 参考技术C pass和matlab 参考技术D 实用工具?

Android WebView 在开发过程中都有哪些坑

自Android 4.4起,引入了webView,使用需要注意的事项:
1.多线程
如果你在子线程中调用WebView的相关方法,而不在UI线程,则可能会出现无法预料的错误。
所以,当你的程序中需要用到多线程时候,也请使用 runOnUiThread()方法来保证你关于WebView的操作是在UI线程中进行的:
runOnUiThread(newRunnable()
@Override
publicvoid run()
// Code for WebView goes here

);

2.线程阻塞
永远不要阻塞UI线程,这是开发Android程序的一个真理。虽然是真理,我们却往往不自觉的犯一些错误违背它,一个开发中常犯的错误就是:在UI线程中去等待JavaScript 的回调。
例如:
// This code is BAD and will block the UI thread
webView.loadUrl("javascript:fn()"); while(result ==null)
Thread.sleep(100);

千万不要这样做,Android 4.4中,提供了新的Api来做这件事情。 evaluateJavascript() 就是专门来异步执行JavaScript代码的。
3.evaluateJavascript() 方法
专门用于异步调用JavaScript方法,并且能够得到一个回调结果。
示例:
mWebView.evaluateJavascript(script, new ValueCallback<String>()
@Override
public void onReceiveValue(String value)
//TODO

);

4.处理 WebView 中 url 跳转
新版WebView对于自定义scheme的url跳转,新增了更为严格的限制条件。 当你实现了 shouldOverrideUrlLoading() 或 shouldInterceptRequest() 回调,WebView 也只会在跳转url是合法Url时才会跳转。
例如,如果你使用这样一个url :
<ahref="showProfile"]]>Show Profile</a>

shouldOverrideUrlLoading() 将不会被调用。
正确的使用方式是:
<ahref="example-app:showProfile"]]>Show Profile</a>

对应的检测Url跳转的方式:
// The URL scheme should be non-hierarchical (no trailing slashes)
privatestaticfinalString APP_SCHEME ="example-app:";

@Override publicboolean shouldOverrideUrlLoading(WebView view,String
url)
if(url.startsWith(APP_SCHEME))
urlData =URLDecoder.decode(url.substring(APP_SCHEME.length()),"UTF-8");
respondToData(urlData);
returntrue;

returnfalse;

当然,也可以这样使用:
webView.loadDataWithBaseURL("example-app://example.co.uk/", HTML_DATA,
null,"UTF-8",null);

5.UserAgent 变化
如果你的App对应的服务端程序,会根据客户端传来的UserAgent来做不同的事情,那么你需要注意的是,新版本的WebView中,UserAgent有了些微妙的改变:
Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H)
AppleWebKit/537.36(KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0
Mobile Safari/537.36

使用 getDefaultUserAgent()方法可以获取默认的UserAgent,也可以通过:
mWebView.getSettings().setUserAgentString(ua);
mWebView.getSettings().getUserAgentString();

来设置和获取自定义的UserAgent。
6.使用addJavascriptInterface()的注意事项
从Android4.2开始。 只有添加 @JavascriptInterface 声明的Java方法才可以被JavaScript调用,例如:
class JsObject
@JavascriptInterface
public String toString() return "injectedObject";

webView.addJavascriptInterface(new JsObject(), "injectedObject");
webView.loadData("", "text/html", null);
webView.loadUrl("javascript:alert(injectedObject.toString())");

7.Remote Debugging
新版的WebView还提供了一个很厉害的功能:使用Chrome来调试你运行在WebView中的程序。
参考技术A WebView:
(一)、介绍:
android提供了一个内置浏览器,该浏览器可以查看网站,查看邮件,播放视频。要使用该内置浏览器,要通过WebView组件实现。webView组件式专门用来浏览网页的。
类结构:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AbsoluteLayout
↳ android.webkit.WebView

(二)、webview组件常用方法:
loadUrl()
loadData()
loadDataWithBaseURL()
capturePicture()
goBack()
goForward()
stopLoading()
reload()
(三)、WebView组件显示url页面的内容:
1、基本代码:
webView_main = (WebView) findViewById(R.id.webView_main);
webView_main.loadUrl("http://www.qq.com");

(四)、WebView组件加载html代码:
1、基本代码:
webView_main = (WebView) findViewById(R.id.webView_main);
// webView_main.loadData(data, "text/html","utf-8");//这个方法中虽然设置了字符集,但是运行效果中发现依然中文会显示乱码。为了解决这个问题,建议使用loadDataWithBaseURL()方法。
webView_main.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);

【备注:】MIME【了解】
概念:MIME意为多功能Internet邮件扩展,它设计的最初目的是为了在发送 电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。
每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。
常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二进制数据 application/octet-stream
2、如果加载的html代码中包含javascript语言,会如何呢?

运行后发现,所有的javascript都不会执行。因为WebView 在默认情况下不支持javascript。如何让执行javascript呢?
让WebView支持javascript的两个步骤:
使用 WebView 组件的WebSettings对象的setJavaScriptEnabled()方法。这种做法是让 WebView 能支持绝大多数的javascript语言。但是依然不支持alert等警告对话框语句。
使用 WebView 组件的setWebChromeClient()方法。这种做法是让 WebView 也支持显示alert等警告对话框。
基本代码:

webView_main.getSettings().setJavaScriptEnabled(true);// 支持运行javascript

webView_main.setWebChromeClient(new WebChromeClient());// 支持运行特殊的javascript(例如:alert())

webView_main.setWebViewClient(new WebViewClient());// 当点击超链地址后不会新打开浏览器来访问,而是始终在本app中浏览页面

3、如果html中包含有超级链接地址,WebView能顺利执行吗?
经过运行后发现,WebView中的超链地址在点击后,会跳出该应用程序,而弹出新的浏览器去访问该网页。
如果解决呢?调用webview对象的setWebViewClient()方法即可解决。
webView_main.setWebViewClient(new WebViewClient());
(五)、用WebView实现“网页版天气预告”

【备注:】调用页面地址:http://m.weather.com.cn/m/pn12/weather.htm?id=101010100T
webView_main = (WebView) findViewById(R.id.webView_main);
webView_main.getSettings().setJavaScriptEnabled(true);
webView_main.setWebChromeClient(new WebChromeClient());
webView_main.setWebViewClient(new WebViewClient());
webView_main.loadUrl("http://m.weather.com.cn/m/pn12/weather.htm?id=101010100T");
(六)、制作简单的网页浏览器:
1、核心代码:
publicclass MainActivity extends Activity
privateEditText editText_main_url;
privateWebView webView_main;
private String url = "";
@Override
protectedvoid onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText_main_url = (EditText) findViewById(R.id.editText_main_url);
webView_main = (WebView) findViewById(R.id.webView_main);
// 让webview对象支持解析javascript语句
webView_main.getSettings().setJavaScriptEnabled(true);
// 让webview对象支持解析alert()等特殊的javascript语句
webView_main.setWebChromeClient(new WebChromeClient());
// 如果不使用该句代码,在点击超链地址后,会跳出程序,而弹出浏览器访问网页。
webView_main.setWebViewClient(new WebViewClient());

publicvoid clickButton(View view)
switch (view.getId())
// 浏览器中后退键监听
caseR.id.button_main_goback:
webView_main.goBack();
break;
// 浏览器前进键监听
caseR.id.button_main_goforward:
webView_main.goForward();
break;
// 当输入网址后,点击该按钮,可以执行访问
caseR.id.button_main_submit:
url = editText_main_url.getText().toString();
if ((url == null) || url.equals(""))
Toast.makeText(MainActivity.this, "请输入url地址!", Toast.LENGTH_LONG).show();
else
if (url.indexOf("http://") != 0)
url = "http://" + url;

webView_main.loadUrl(url);

break;
// 浏览器停止加载键监听
caseR.id.button_main_stop:
webView_main.stopLoading();
break;
// 浏览器刷新键监听
default:
break;


本回答被提问者采纳

以上是关于数据分析过程中都有哪些实用工具?的主要内容,如果未能解决你的问题,请参考以下文章

医学中都有哪些问题可以用马尔科夫、隐马尔科夫、贝叶斯模型来建模?

sql server 查询db中都有哪些地方调用了某个sp

函数中都有哪些功能,但存储过程中没有? [复制]

如何在sqlplus中查看库中都有哪些表

常用的大数据工具都有哪些?

commons.lang中都有哪些常用的工具