数据库连接测试时,所有的参数信息都填写正确,却报错了. 或者,没有进行数据库连接测试,直接保存了当前数据库连接,然后在浏览,选择目标表时报错: 或者其他别的关于数据库连接的错误…… 第一个要考虑的就是,可能是缺少对应的数据库连接驱动. 若像我一样用的是mysql的话,可以到kettle的lib目录下,寻找,看有木有名称类似于mysql-connector-java-x.x.x-bin.jar的jar包.没有就需要从网上下载一个,放到lib目录中,然后重新启动kettle即可. 有时,即便有数据库…
相关概念: Kettle数据清洗是采用元数据(Meta-data)驱动,以数据流的方式进行的,数据从数据源(数据库/文件等)在一系列相连的step之间依次向后流动,各个step完成对流经该step的数据进行需要的处理工作. Kettle中的数据转换组件按粒度从小到大分为Step.Trans.Job. Step:是完成单一具体功能的组件,如从文件中读取数据.对流中的字段进行字符串拆分操作.对不能为空的字段设置相应默认值.将流中的数据写入到数据表等. Trans:转换,一般最终清洗完成的数据库中有多…
最近导师让给师弟师妹做个关于kettle的培训,瞬间囧了,kettle我也只是简单学过,连皮毛都算不上,而且,上次使用kettle已然是去年的事了…… 没办法,只好重新学习下,好在之前写了几个文档,也留下了几行代码,想想还是放到博客上,以后自己查看也比较方便. 数据清洗: 数据清洗是指发现并纠正数据文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值等. 从这个技术的名称简单理解,就是把脏的数据洗掉(丢弃),或者洗干净(修正). 如同大象放进冰箱,一般来说数据清洗也可以分为三步: ETL:…
目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处于一些必要的因素, 浮点数通常是舍入到了一个非常接近的值.                   举例:select rate from A where id=123   --Result:59.95                           select * from A where ra…
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void main(String[] args){ //定义二维数组 int[ ] [ ] arr={{1,2,3},{4,5,6}}; //静态初始化 //打印出二维数组 for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ S…
20171123 Linux shell 基础学习笔记1. shell 的开始 一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径 其他的 # 都表示注释.2. shell 的变量 定义变量直接用 variablename= value 就可以 其中变量名与等号之间没有空格. 使用变量的时候 是 ${vairablename} 的方式进行使用 大括号可以有可以没有,但是建议有. 可以使用 for file in `ls /etc/` 的方式来循环取得文件名. 使用do d…
adb : android debug bridge android调试桥 路径:adt-bundle目录/sdk/platform-tools/adb.exe 常见的adb命令: adb devices 列出所有启动的模拟器 adb start-server 启动adb服务 adb kill-server 停止adb服务 adb shell 之后可以执行linux shell命令 adb  [–s 模拟器名称] install  应用程序.apk  同时有多个模拟器在运行时,必须使用-s指定要…
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------…
在之前的学习中,我们发现,我们需要频繁的创建连接对象,用完之后还需要在关闭资源,因为这些连接对象都是占资源的,但是又不得不创建,比较繁琐,为了解决这种情况,Java出现了数据库连接池: 数据库连接池的概念: 定义:本质上就是一个容器(集合,java没有容器)用来存放数据库连接的内容,当系统初始化以后,容器被创建,容器中就会申请一些连接对象,当用户来访问数据库的时候,从容器中取出对象,用完之后归还. 通俗理解连接池:就像一个饭店,本来是来一个客人就招一个服务员,然后客人走后,服务员就被辞退,下次再…
一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和持久状态间转换的机制. 2.JDBC API Connection连接接口 Statement接口 ResultSet结果集接口 PerparedStatement接口 3.JDBC Driver Manager(驱动程序管理器) SUN公司提供,它是JDBC体系结构的支柱,负责管理各种不同的驱动(…
1.准备工作: 百度地图API是免费开放的,但是需要申请API Key: 1)先注册一个百度开发者帐号 2)进入百度开放服务平台http://developer.baidu.com/ 3)进入LBS云 4)点击右上角的API控制台,没有登录的话会先跳转到登录页面,登录成功之后就进入应用控制台了: 5)点击创建应用: 应用类型选择Android SDK,注意下面的安全码,格式是数字签名+应用包名,中间用分号分隔.数字签名的获得: Eclipse中window->Preferences->Andr…
Lua所遇到的任何未预期条件都会引发一个错误.因此在发生错误时不能简单的崩溃或着退出,而是结束当前程序块并返回应用程序.当错误引发时进行恰当的处理是最合适的,然而这个阶段伴随着错误的捕获.错误的处理.错误追溯等处理.Lua中有函数pcall.error.assert函数来操作错误.其中pcall用于捕获错误.error抛出一个错误.assert是error的包装.   一.抛出错误        在Lua中抛出错误信息的函数是error,通常包含调用堆栈信息以及错误提示信息.而assert是er…
错误1:执行程序后,控制台闪烁后退出 处理办法: (1)添加头文件:#include <iostream> (2)在程序返回前添加代码: std::cin.clear();//清除错误标志,避免再次输入失败: std::cin.ignore(,'\n'); //上述语句表示最大接收32767个字符后停止,或者遇到回车符停止: std::cin.get()//等待输入 错误2: When compiling with Microsoft Visual C++, you get the follo…
基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值为0 //第二步创建内存空间,在堆空间创建长度为5数组,number里面存储的是第一个内存地址 引用类型实例 Person[] my=new Person[3];// /* 1.my实在栈区,而Person数组在堆区 2.堆空间有三个连续内存空间里面分别存有三个引用,并且默认初始化为null */…
什么是异常(Exception)? 简述: 在运行过程中,应用程序可能遭遇各种严重程度不同的问题.异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式.它也提供了一种直接报告错误的机制. 不同类型异常在Java中被封装为不同的类,这也符合我Java里一切都是对象的原则,Java为我们提供了非常完美的异常处理机制. 异常的结构图 既然是类,自然有结构关系,让我们看看这些异常类的结构组成图 JDK文档中的异常类 在JDK文档中,可以查看异常类所有介绍和使用方法 Exception 实例 常见的异常…
  什么是Linux? Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统.Linux作者是天才程序员Linus Benedict Torvalds.   WIKI资料如下: Linux 作者:Linus Benedict Torvalds Linux :Linux    …
Polymorphism[多态] 简述: 面向对象多态性指的是:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 多态的三个前提条件: 多态发生在有继承关系的类之间 子类要对超类方法进行重写 父类引用指向子类对象 要了解多态,先了解casting(对象转型)的概念. Casting[对象转型] 1.基类的引用类型变量可以是指向子类的对象. 2.一个基类引用不能访问子类对象新增加的成员(属性和方法 ) 3.可以使用引用变量instace…
问题1. #意思是从athletelist.py中导入AthleteListfrom athletelist import AthleteList 源程序代码 import pickle from athletelist import AthleteList 报错: 原因: #意思是从athletelist.py中导入AthleteListfrom athletelist import AthleteList 而我的程序里,包含类AthleteList的py文件名为Athlete. 更改后则成功…
1,p124,错误:NameError: name 'print_lol' is not defined 要想文件内如图显示,需要把调用BIF print()改为调用第二章的nester模块中的print_lol()函数,因此需要导入nester模块. 首先需要修改第二章nester模块中的print_lol()函数并更新该模块,更新方法如图: 然后在sketch.py中调用print_lol()函数. ''' 修改时间:0919 修改内容:把调用BIF print()改为调用第二章的neste…
错误处理 在一些网站开发中.经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存.那么我们本节就来讲讲如何实现. 常见的错误码 404:服务器没有指定的url. 403:没有权限访问相关的数据. 405:请求的method错误. 400:bad request,请求的参数错误. 500:服务器内部错误,一般是代码出bug了. 502:一般部署的时候见得比较多,一般是nginx启动了,然后uwsgi有问题. 自定义错误模板 在碰到比如404,500错误的时…
Error Handling Operators Operators to Convert Observables 本文的主题为对 Observable 进行错误处理的操作符以及转换 Observable 类型的操作符. 这里的 Observable 实质上是可观察的数据流. RxJava操作符(五)Error Handling 公共代码 RxNET public static void Dump<T>(this IObservable<T> source, string name…
常见的向用户发送提示信息的方式有3种,分别为: 1)发送Toast信息 2)弹出对话框 3)发送通知 总结如下: 方式1:发送Toast信息: 这种方式最简单,在之前的学习中多次使用过.Toast是在一个浮动于应用之上的View中显示信息,显示一定的时间间隔后自动消失,不可获得焦点. 最简单的用法就是之前的学习中一直使用的:通过一个静态的makeText()方法返回一个Toast对象,然后调用show()方法. 如: 布局文件添加一个Button: <Button android:id="…
1.Fragment的生命周期: 简单在新建一个MyFragment继承自Fragment,重写各个生命周期回调方法,各个方法中直接输出标识相关函数被调用的信息. 重写MainActivity的各个生命周期回调方法,同样输出标识信息. MyFragment.java: public class MyFragment extends Fragment { @Override public void onActivityCreated(Bundle savedInstanceState) { //…
补充:关于PHP服务端可能出现的问题: 如果你刚好也像我一样,用php实现的服务端程序,采用的是apache服务器,那么虚拟主机的配置可能会影响到android应用的调试!! 在android应用中访问的IP都是10.0.2.2,如果在apache虚拟主机配置文件中配置了多个虚拟主机,那么将默认解析为对第一个虚拟主机的请求,所以,在调试android应用时,应该将对应的服务端所配置的那个虚拟主机放在配置文件中的第一个虚拟主机的位置.否则就会出现请求的文件不存在等的错误. 服务端返回JSON数据及…
1. 野指针 (1)指针变量中的值是非法的内存地址,进而形成野指针 (2)野指针不是 NULL 指针,是指向不可用内存地址的指针 (3)NULL 指针并无危害,很好判断,也很好调试 (4)C 语言中无法判断一个指针所保存的地址是否合法 2. 野指针的由来 (1)局部指针变量没有被初始化 (2)指针所指向的变量在指针之前被销毁 (3)使用己经释放过的指针 (4)进行了错误的指针运算 (5)进行了错误的强制类型转换 #include <stdio.h> #include <malloc.h&…
主要是基于HTTP协议与服务端进行交互. 涉及到的类和接口有:URL.HttpURLConnection.HttpClient等 URL: 使用一个String类型的url构造一个URL对象,如: URL url = new URL(http://10.0.2.2/index.php); openConnection()方法返回一个对指定url的资源的连接.返回类型是URLConnection,但是,由于这里我们一般用的是http协议,所以返回的实际是HttpURLConnection对象,故一…
要使用一个ContentProvider,必须要知道的是它所能匹配的Uri及其数据存储的表的结构. 首先想办法找到访问短信及联系人数据的ContentProvider能接受的Uri: 到github上找对应ContentProvider的源码:https://github.com/android 有好多个,哪一个才是短信数据的ContentProvider呢? 在filters输入框:输入telephony. 现在只有一个了,打开: 装有git的话,可以选择clone到本地,没有的话,就选择下载…
ContentProvider是Android四大组件之一,它用来封装数据,并通过ContentResolver接口将数据提供给其他应用.只有当需要在多个应用之间共享数据时才会用到ContentProvider. 多个应用共享数据时,如何区分是哪个应用中的那部分数据呢? ContentProvider通过Uri标识具体某个应用的某些数据.当一个应用提供了ContentProvider向其他应用共享数据时,该应用在其ContentProvider中添加标识自己特定数据的Uri,然后其他应用想要获得…
Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便.SQLite与别的数据库不同的是,它没有数据类型.可以保存任何类型的数据到你所想要保存的任何表的任何列中.但它又支持常见的类型比如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB...等. 唯一的例外是:integer primary key 此字段只能存储64位整数. 在JAVA项目中,要使用JDBC操作数据库需要加载数据库驱动,连接数据库等操作.Android简化…
假如有如下需求,要求能够记录用户输入的用户名和密码,下次登录时,能直接获取之前保存的用户名密码,并在相应的EditText中显示. 要保存用户输入的数据,最先想到的应该就是文件读写了. 通过对android应用打包安装过程的观察,发现每个应用安装之后,都会在/data/data/下新建一个与应用包名相同的目录,该应用的所有文件都存放在该目录下. 例如: main_layout.xml代码: <?xml version="1.0" encoding="utf-8"…