- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 GraphFrame相关的概念
1.图的概念图(Graph)是一种数据结构。图型结构都是由顶点和边组成的,记作G=(V,E),其中V是顶点的非空有限集合,E是连接V中两个不同顶点的边的有限集合。无向图:如果图中每条边都是没有方向的,称此图为无向图。有向图:如果图中每条边都是有方向的,即每条边在图示时用箭头表示方向,称此图为有向图。2.示例这里V就是顶点(vertices),E就为边(edges)vertices:("a", "Alice", 34),("b", "Bob", 36),("c", "Charlie"
2021-11-10 16:04:22
777
原创 spark自定义UDF函数toDF导入报错的引用方法
这里自定义了一个转换大写的UDF函数,用scala建表时会出现toDF不能导入的问题,后面通过查看源码可以找知道toDF的使用方法正确代码import org.apache.spark.SparkConfimport org.apache.spark.sql.SparkSessionobject ScalaTest { def main(args: Array[String]): Unit = { val sparkConfig = new SparkConf().setMaster("
2021-10-30 11:17:20
1914
原创 group by性能优化
1.尽量避免在WHERE语句中使用OR来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,可以使用UNION合并查询。实际测试(1)使用union all合并查询select id,namefrom tablewhere id=114union allselect id,namefrom tablewhere id=334在presto中查询的时间18.19sec 279.35kbyte 500 / 11,016 results 2columns(2)使用or连接进行查询se
2021-06-08 10:49:12
376
原创 华为OD 笔试题 磁盘容量排序问题
华为OD 笔试题题目大意磁盘的容量单位有M、G、T,其关系为 1T = 1000G、1G = 1000M,如样例所示先输入磁盘的个数,再依次输入磁盘的容量大小,然后按照从小到大的顺序对磁盘容量进行排序并输出。例如输入320M1T300G输出20M300G1T**public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
2021-02-04 00:25:42
1636
1
原创 华为编程面试题解答
网上看到了一道华为编程面试题,觉得比较有意思,原作者是C语言编程的,我试着用java编写下。原作者链接博客机试题:题目:统计参加聚会,每个小时的人数,聚会从12点至20点。输入:每行包括两个整数,第一整数是参加聚会的时间,第二个整数是离开聚会的时间,例如 12,15,不包含15,意味着[12,15),以-1,-1结束输入输出:例如:[12,13):3测试用例:输入:12,16...
2019-12-21 14:11:25
1023
原创 Android蓝牙与BLE通信相关的读、写、通知、指示操作
这段时间一直在进行手机与BLE的相关项目开发,其中对读数据、写数据、接收通知消息、接收指示型消息这几种操作有了一些了解,今天贴出来跟大家分享一下。(关于蓝牙的搜索,连接,获取服务,获取特征值等方法这里就不再赘述了,网上很多前辈总结的很全面,可以自行搜索。这几个操作的共同特性都是通过调用回调方法进行数据的获取和交换,所以进行相关操作之前熟悉每个操作相关的回调方法是很有必要的。1.接收通知消息...
2018-04-19 23:49:42
15077
4
原创 内存泄露的危害
内存泄露定义 进程中某些对象没有使用价值了,但是他们却可以直接或间接的引用gc roots导致无法被gc回收。当不用的对象占据着内存空间时,使得实际可使用的内存变小,形象的说法就是发生内存泄露了。 内存泄露危害 1.频繁GC:安卓系统分配给单个应用的内存资源都是有限的,内存泄露导致其他组件可用的内存变少后,一方面会使得gc的频率加剧,再发生gc的时候,所有进程都必须等待,gc的频率越高,用户...
2018-04-18 19:00:53
5107
原创 AndroidStudio将log日志保存为文档txt
1.用命令行进入到你sdk中adb工具的目录,我电脑中adb目录下图这个目录中。2.在命令行中继续输入adb shell logcat > d:\test.txt(将log日志输出放在d盘下面的test.txt文件中)。3.debug你要打印log的程序,最后在规定目录下查看所需日志文件。
2017-05-22 09:30:37
5463
原创 CJSON数据的解析和合成示例
解析json数据这里直接引用实际项目中用的json数据示例,一个附带数组的解析。下面这串数据看起来很长,在解析的时候可以放到json在线解析的网页上——json在线解析,可以清楚地看到数据结构,方便我们提取所需要的数据。{ "asr_recongize":"周杰伦青花瓷", "nluProcessTime":"51", "rc":0, "text":"周杰伦青花瓷"
2017-03-03 11:33:45
2527
原创 Android仿网易云音乐转盘的实现
做一个音乐类APP的过程中,遇到一个实现类似网易云音乐转盘转动的界面,作为一款比较喜欢的音乐播放器,自然兴趣十足,希望可以学到一分吧。 主要用ObjectAnimator实现,代码量也很少,下面直接贴出来吧先贴出效果图吧
2016-09-30 20:29:42
6009
原创 Android Studio中新建和引用assets文件
从eclipse转过的朋友们应该不太习惯AS中新建assets文件和对文件内容的引用。我也查找了网上很多资料发现很少有这样的解决答案,于是便把自己解决的方法总结在这里。 1.一般新建project后这里的目录都会默认为Android,首先在把目录结构切换到project上来,这样会使得整个项目结构的构成更为清晰,空的文件夹也不会被隐藏。 2.要注意assets文件夹要跟Java文件在同一目录
2016-08-16 12:24:54
42108
1
原创 Fragment如何避免onCreateView重复调用
在做一个使用Fragment的项目中,遇到在滑动Fragment的过程中不断重复调用onCreateView的问题,导致控件不断初始化,影响程序的整体逻辑。于是便使用Log打印了所有可重写的父类方法。结果如下,这个过程有助于进一步熟悉Fragment的生命周期。1.程序启动后 滑动到本界面或是相邻界面便开始打印如下信息: 2.滑动到相隔一个界面后 打印信息如下: 3.继续滑动到相邻
2016-03-19 10:35:24
7473
2
原创 JSON数据(语义格式)多对象解析
1.当我们获取到语义之后得到的json数据格式排布一般是不规则的,如果对象较多对结构一时半会看不清结构的条理,可以将得到的json数据直接粘贴到在线解析的网站上,http://www.bejson.com/,这里可以得到按节点分类排好的清晰结构,同时可以检查json数据格式的正确与否。 示例: /**json数据格式 *
2016-01-26 09:19:23
1323
原创 android在Fragment中启动服务
1.startService(new Intent(getActivity(),mService.class));2.getActivity().startService(new Intent(getActivity(),mService.class));3.Intent mIntent = new Intent(getActivity(), BLeService.class); getAc
2016-01-22 21:44:25
7397
原创 Android中几种常用的定时器和延时方法
通过实际项目的练习,掌握了几种android基本定时器和延时的用法,这里我想总结一下作为自己的收获,下面列出的是比较简洁的模式,方便简单地在程序中直接调用。 一、三种常用的定时器 1.Handler类的postDelayed方法: Handler mHandler = new Handler(); Runnable r = new Runnabl
2015-12-01 18:41:10
11086
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人