sparkforandroid
‘壹’ 安卓第三方开源库
https://github.com/Snailclimb/javaGuide
https://github.com/crossoverJie/JCSprout
https://github.com/yangchong211/YCBlogs
https://github.com/GcsSloop/AndroidNote
Android开源库V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!
安卓开发者不得不收藏的工具
安卓那些你不得不收藏的开源库
GitHub上受欢迎的Android UI Library
Android开源项目以及开源框架,各种UI实现效果
Github: https://github.com/fanhua1994/XBaseAndroid
Gituhb: https://github.com/white-cat/ThinkAndroid
Github: https://github.com/gdpancheng/LoonAndroid
http://www.52im.net/
http://blog.csdn.net/dong_18383219470/article/details/71101859
http://blog.csdn.net/dong_18383219470/article/details/77932822
https://github.com/robbiehanson/XMPPFramework Ios
http://www.igniterealtime.org/projects/smack/ Android
http://www.igniterealtime.org/projects/openfire/index.jsp Server
http://www.igniterealtime.org/projects/spark/index.jsp Client
开源中国官方安卓APP
https://gitee.com/oschina/android-app
安卓聊天APP
Gitee: https://gitee.com/735859399/weichat
Github: https://github.com/JackJiang2011/MobileIMSDK
tinker 补丁管理管理平台
https://github.com//tinker-manager
https://www.jianshu.com/p/e61a4d10e122
https://github.com/alibaba/AndFix 阿里系
ttps://github.com/dodola/HotFix 腾讯系
https://github.com/jasonross/Nuwa
https://github.com/bunnyblue/DroidFix
https://github.com/Tencent/tinker 微信
https://github.com/dodola/AnoleFix 仿美团
https://github.com/dodola/RocooFix
https://www.aliyun.com/proct/hotfix
https://github.com/Meituan-Dianping/Robust 美团系
https://github.com/meili/Aceso 蘑菇街
https://github.com/eleme/Amigo/ 饿了么
https://github.com/square/okhttp
Github: https://github.com/jeasonlzy/okhttp-OkGo 5.9K
github: https://github.com/siwangqishiq/ImageEditor-Android
github: https://github.com/Blizzard-liu/AndroidUtils
github: https://github.com/xiuweikang/IM
github: https://github.com/LaiFeng-Android/SopCastComponent
github: https://github.com/zhoubowen-sky/LingDong
github: https://github.com/cxmscb/android-MaterialEditText
GitHub: https://github.com/dmytrodanylyk/circular-progress-button
GitHub: https://github.com/johnkil/Android-AppMsg
GitHub: https://github.com/MrZhousf/EasyDB
GitHub: https://github.com/LineChen/FlickerProgressBar
GitHub:[ https://github.com/chrisbanes/Android-PullToRefresh 暂停维护]
Github: https://github.com/huxq17/XRefreshView
Github: https://github.com/scwang90/SmartRefreshLayout
Github: https://github.com/MarkMjw/PullToRefresh
Github: https://github.com/Yalantis/Phoenix
Github: https://github.com/liaohuqiu/android-cube-app
Github: https://github.com/lizhangqu/Camera
Github: https://github.com/mayubao/KuaiChuan
Github: https://github.com/greenrobot/EventBus
Github: https://github.com/stfalcon-studio/ChatKit
Github: https://github.com/Rance935/ChatUI
Github: https://github.com/qstumn/BadgeView
Github: https://github.com/bingoogolapple/BGAQRCode-Android
Github: https://github.com/dm77/barcodescanner
Github: https://github.com/googlesamples/easypermissions
Github: https://github.com/yanzhenjie/AndPermission
Github: https://github.com/nanchen2251/CompressHelper
Github: https://github.com/jeanboydev/Android-BitherCompress
Github: https://github.com/Curzibn/Luban (最接近朋友圈图片压缩的算法)
Github: https://github.com/Sunzxyong/Tiny (an image compression framework.)
Github: https://github.com/FinalTeam/RxGalleryFinal
Github: https://github.com/ValuesFeng/AndroidPicturePicker
Github: https://github.com/LuckSiege/PictureSelector
Github: https://github.com/crazycodeboy/TakePhoto
Github: https://github.com/jeasonlzy/NineGridView
Github: https://github.com/donglua/PhotoPicker
Github: https://github.com/jeasonlzy/ImagePicker (已停止维护)
Github: https://github.com/LuckSiege/PictureSelector
Github: https://github.com/FinalTeam/RxGalleryFinal
Gituhb: https://github.com/DroidNinja/Android-FilePicker
Github: https://github.com/HomHomLin/AdvancedPagerSlidingTabStrip
Github: https://github.com/yangfuhai/ASimpleCache
Gituhb: https://github.com/ikew0ng/SwipeBackLayout
Github: https://github.com/liuguangqiang/SwipeBack
[图片上传失败...(image-487509-1510123239039)]
[图片上传失败...(image-f75761-1510123239039)]
Github: https://github.com/Tamicer/JsWebView
Github: https://github.com/forezp/SpringCloudLearning
Gituhb: https://github.com/daimajia/NumberProgressBar
Github: https://github.com/LinHuanTanLy/Pay_Master
Gituhb: https://github.com/chrisbanes/PhotoView
Github: https://github.com/orhanobut/dialogplus
Gituhb: https://github.com/saiwu-bigkoo/Android-AlertView
Github: https://github.com/afollestad/material-dialogs
Github: https://github.com/pedant/sweet-alert-dialog
Github: https://github.com/JoanZapata/android-pdfview
Gituhb: https://github.com/hongyangAndroid/Highlight
Gituhb: https://github.com/xiaoyaoyou1212/BluetoothChat
Github: https://github.com/LillteZheng/ViewPagerHelper
Github: https://github.com/crazyandcoder/citypicker
Github: https://github.com/QMUI/QMUI_Android
MVP+RxJava2+Retrofit2+Glide+Rxbus,主要实现日报、新闻、干货、影视等资讯,个人项目
Github: https://github.com/Horrarndoo/YiZhi
Github: https://github.com/yangchong211/LifeHelper
A memory leak detection library for Android and Java.(用于Android和Java的内存泄漏检测库)
Github: https://github.com/square/leakcanary
Github: https://github.com/zerochl/FFMPEG-AAC-264-Android-32-64
Github: https://github.com/aesion/NodeProgressView
https://github.com/CarGuo/GSYVideoPlayer
Github: https://github.com/gjiazhe/WaveSideBar
Github: https://github.com/fanhua1994/WheelPicker
Gituhb: https://github.com/XXApple/AndroidLibs
Github: https://github.com/AigeStudio/WheelPicker
Github: https://github.com/scwang90/SmartRefreshLayout (最强)
Github : https://github.com/RawnHwang/SmartRefreshLayout
Github: https://github.com/anzewei/NestRefreshLayout
Github: https://github.com/lipangit/JiaoZiVideoPlayer
Github: https://github.com/ACRA/acra
Github: https://github.com/CarGuo/CustomActionWebView
Github: https://github.com/fanhua1994/FastVideoPlayer
轻松将相机功能集成到您的Android应用程序
Github: https://github.com/google/cameraview
Github: https://github.com/hongyangAndroid/AndroidAutoLayout
Github: https://github.com/JessYanCoding/AndroidAutoSize (今日头条)
视频录制 视频压缩
Github: https://github.com/zerochl/FFMPEG-AAC-264-Android-32-64
Github: https://github.com/WritingMinds/ffmpeg-android-java
Github : https://github.com/chenhui28/VideoRecorderAndCompressor
Weixin: https://mp.weixin.qq.com/s/7ffZB0_RB90i5c60bEYRWg
Github: https://github.com/bm-x/PhotoView
Github: https://github.com/chrisbanes/PhotoView
Github: https://github.com/jpush/aurora-imui
Github: https://github.com/MZCretin/WifiTransfer-master
Github: https://github.com/DuanJiaNing/Musicoco
Github: https://github.com/GitLqr/LQRWeChat
Github: https://github.com/hmkcode/Android
Github: https://github.com/TheFinestArtist/FinestWebView-Android
github: https://github.com/delight-im/Android-AdvancedWebView
一款新闻客户端, MVP + RxJava + Retrofit + Dagger2
Github: https://github.com/Will-Ls/WeiYue
Github: https://github.com/yaowen369/DownloadHelper
Github: https://github.com/SOFTPOWER1991/OpenCVCheck
Github: https://github.com/luozhanming/Captcha
Github: https://github.com/JesseFarebro/Android-Mqtt
Github: https://github.com/wenmingvs/AndroidProcess
Github: https://github.com/jaredrummler/AndroidProcesses
Github: https://github.com/daimajia/AndroidSwipeLayout
Github: https://github.com/norbsoft/android-typeface-helper
Github: https://github.com/zcweng/ToggleButton
Github: https://github.com/wangzailfm/WanAndroidClient (Kotlin)
Github: https://github.com/salecoding/WanAndroid (Java)
Github: https://github.com/zrunker/IbookerEditorAndroid/
Github: https://github.com/jfeinstein10/SlidingMenu
Github: https://github.com/SpecialCyCi/AndroidResideMenu
Github: https://github.com/totond/TextPathView
Github: https://github.com/DroidPluginTeam/DroidPlugin [360手机助手]
Github:[
‘贰’ 2019年十大最佳深度学习框架
作者 | python语音识别
来源 | 涛哥聊Python
虽然我们大多数人都惊叹为什么DL这么好?在使用大量数据进行训练时,它在准确性方面非常出色。近几年随着深度学习算法的发展,出现了很多深度学习的框架,这些框架各有所长,各具特色。下面将为大家介绍2019年最受欢迎的十大深度学习框架。
TensorFlow谷歌的Tensorflow可以说是当今最受欢迎的深度学习框架。Gmail,Uber,Airbnb,Nvidia以及其他许多知名品牌都在使用。TF是目前深度学习的主流框架,Tensorflow主要特性:
TensorFlow支持python、JavaScript、C ++、Java和Go,C#和Julia等多种编程语言。 TF不仅拥有强大的计算集群,还可以在iOS和Android等移动平台上运行模型。 TF编程入门难度较大。初学者需要仔细考虑神经网络的架构,正确评估输入和输出数据的维度和数量。 TF使用静态计算图进行操作 。也就是说我们需要先定义图形,然后运行计算,如果我们需要对架构进行更改,我们会重新训练模型。选择这样的方法是为了提高效率,但是许多现代神经网络工具能够在学习过程中考虑改进而不会显着降低学习速度。在这方面,TensorFlow的主要竞争对手是PyTorch 。TensorFlow优点:
它非常适合创建和试验深度学习架构,便于数据集成,如输入图形,sql表和图像。 它得到谷歌的支持,这就说明该模型短期内不会被抛弃,因此值得投入时间来学习它。 PyTorchTensorflow之后用于深度学习的主要框架是PyTorch。PyTorch框架是Facebook开发的,已被Twitter和Salesforce等公司使用。
PyTorch基本特性:
与TensorFlow不同,PyTorch库使用动态更新的图形进行操作 。这意味着它可以在流程中更改体系结构。 在PyTorch中,您可以使用标准调试器 ,例如pdb或PyCharm。PyTorch优点:
训练神经网络的过程简单明了。同时,PyTorch支持数据并行和分布式学习模型,并且还包含许多预先训练的模型。 PyTorch更适合小型项目和原型设计。 SonnetSonnet深度学习框架是建立在TensorFlow的基础之上。它是DeepMind用于创建具有复杂架构的神经网络。
Sonnet基本特性:
面向对象的库,在开发神经网络(NN)或其他机器学习(ML)算法时更加抽象。 Sonnet的想法是构造对应于神经网络的特定部分的主要Python对象。此外,这些对象独立地连接到计算TensorFlow图。分离创建对象并将其与图形相关联的过程简化了高级体系结构的设计。Sonnet优点:
Sonnet的主要优点是可以使用它来重现DeepMind论文中展示的研究,比Keras更容易,因为DeepMind论文模型就是使用Sonnet搭建的。 KerasKeras是一个机器学习框架,如果您拥有大量数据和/或你想快速入门深度学习,那么Keras将非常适合学习。Keras是TensorFlow高级集成APi,可以非常方便的和TensorFlow进行融合。这是我强烈推荐学习的一个库。
Keras基本特性:
除了Tensorflow之外,Keras还是其他流行的库(如Theano和CNTK)的高级API。 在Keras中更容易创建大规模的深度学习模型,但Keras框架环境配置比其他底层框架要复杂一些。Keras优点:
对于刚刚入门的人来说,Keras是最好的深度学习框架。它是学习和原型化简单概念的理想选择,可以理解各种模型和学习过程的本质。 Keras是一个简洁的API。 可以快速帮助您创建应用程序。 Keras中代码更加可读和简洁。 Keras模型序列化/反序列化API,回调和使用Python生成器的数据流非常成熟。顺便说一下TensorFlow和Keras的对比:
PS:Tensorflow处于底层框架:这和MXNet,Theano和PyTorch等框架一样。包括实现诸如广义矩阵 - 矩阵乘法和诸如卷积运算的神经网络原语之类的数学运算。
Keras处于高度集成框架。虽然更容易创建模型,但是面对复杂的网络结构时可能不如TensorFlow。
MXNetMXNet是一种高度可扩展的深度学习工具,可用于各种设备。虽然与TensorFlow相比,它似乎没有被广泛使用,但MXNet的增长可能会因为成为一个Apache项目而得到提升。
MXNet基本特性:
该框架支持多种语言,如C ++,Python,R,Julia,JavaScript,Scala,Go,甚至Perl。 可以在多个GPU和许多机器上非常有效地并行计算。MXNet优点:
支持多个GPU(具有优化的计算和快速上下文切换) 清晰且易于维护的代码(Python,R,Scala和其他API) 快速解决问题的能力(对于像我这样的深度学习新手至关重要)虽然它不像TF那么受欢迎,但MXNet具有详细的文档并且易于使用,能够在命令式和符号式编程风格之间进行选择,使其成为初学者和经验丰富的工程师的理想选择。
GLUONGluon是一个更好的深度学习框架,可以用来创建复杂的模型。GLUON基本特性:
Gluon的特殊性是具有一个灵活的界面,简化了原型设计,构建和培训深度学习模型,而不会牺牲学习速度。 Gluon基于MXNet,提供简单的API,简化深度学习模型的创建。 与PyTorch类似,Gluon框架支持使用动态图表 ,将其与高性能MXNet相结合。从这个角度来看,Gluon看起来像是分布式计算的Keras非常有趣的替代品。GLUON优点:
在Gluon中,您可以使用简单,清晰和简洁的代码定义神经网络。 它将训练算法和神经网络模型结合在一起,从而在不牺牲性能的情况下提供开发过程的灵活性。 Gluon可以定义动态的神经网络模型,这意味着它们可以动态构建,使用任何结构,并使用Python的任何本机控制流。 SWIFT当你听到Swift时,您可能会考虑iOS或MacOS的应用程序开发。但是如果你正在学习深度学习,那么你一定听说过Swens for Tensorflow。通过直接与通用编程语言集成,Swift for TensorFlow可以以前所未有的方式表达更强大的算法。SWIFT基本特性:
可以轻松获得可微分的自定义数据结构。 下一代API 。通过实践和研究获得的新API更易于使用且更强大。 在TensorFlow的基础上 ,Swift API为您提供对所有底层TensorFlow运算符的直接调用。 基于Jupyter、LLDB或者Swift in Colab的编程工具提高了您的工作效率。SWIFT优点:
如果动态语言不适合您的任务,那么这将是一个很好的选择。当你训练运行了几个小时,然后你的程序遇到类型错误,那么使用Swift,一种静态类型语言。您将看到代码错误的地方。 Chainer直到CMU的DyNet和Facebook的PyTorch出现之前,Chainer是动态计算图或网络的领先神经网络框架,它允许输入数据长度不一致。chainer基本特性:
Chainer代码是在Numpy和CuPy库的基础之上用纯Python编写的, Chainer是第一个使用动态架构模型的框架。Chainer优点:
通过自己的基准测试,Chainer明显比其他面向Python的框架更快,TensorFlow是包含MxNet和CNTK的测试组中最慢的。 比TensorFlow更好的GPU和GPU数据中心性能。最近Chainer成为GPU数据中心性能的全球冠军。 DL4J那些使用Java或Scala的人应该注意DL4J(Deep Learning for Java的简称)。DL4J的基本特性:
DL4J中的神经网络训练通过簇的迭代并行计算。 该过程由Hadoop和Spark架构支持。 使用Java允许您在Android设备的程序开发周期中使用。DL4J优点:
如果您正在寻找一个良好的Java深度学习框架,这会是一个非常好的平台。 ONNXONNX项目诞生于微软和Facebook,旨在寻找深度学习模型呈现的开放格式。ONNX简化了在人工智能的不同工作方式之间传递模型的过程。因此ONNX具有各种深度学习框架的优点。
ONNX基本特性:
ONNX使模型能够在一个框架中进行训练并转移到另一个框架中进行推理。ONNX模型目前在Caffe2,Microsoft Cognitive Toolkit,MXNet和PyTorch中得到支持,并且还有许多其他常见框架和库的连接器。ONNX优点:
对于PyTorch开发人员来说,ONNX是一个好的选择。但是对于那些喜欢TensorFlow的人来说,Keras等可能好一点。 总结那么您应该使用哪种深度学习框架?下面是几点建议:
如果你刚刚开始学习,那么最好的选择是Keras 。 出于研究目的,请选择PyTorch 。 对于生产,您需要关注环境。因此对于Google Cloud,最好的选择是TensorFlow ,适用于AWS - MXNet和Gluon 。 Android开发人员应该关注D4LJ ,对于iOS来说, Core ML会破坏类似的任务范围。 最后, ONNX将帮助解决不同框架之间的交互问题。‘叁’ android消息推送GCM、XMPP、MQTT三种方案的优劣是什么
Android推送方案分析(MQTT/XMPP/GCM)
本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案。
方案1、使用GCM服务(Google Cloud Messaging)
简介:Google推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。
方案2、使用XMPP协议(Openfire + Spark + Smack)
简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。
方案3、使用MQTT协议(更多信息见:http://mqtt.org/)
简介:轻量级的、基于代理的“发布/订阅”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域(参考:http://mqtt.org/software),且已有C++版的服务端组件rsmb。
缺点:不够成熟、实现较复杂、服务端组件rsmb不开源,部署硬件成本较高。
‘肆’ Spark编程题
现有100W+条数据存储在hdfs中的userinfo文件夹中的多个文件中,数据格式如下:
张三|男|23|未婚|北京|海淀
李四|女|25|已婚|河北|石家庄
求:
1.数据中所有人的平均年龄
2.数据中所有男性未婚的人数和女性未婚人数
3.数据中20-30已婚数量前3的省份
答案:
package spark08
import org.apache.spark.rdd.RDD
import org.apache.spark.util.LongAccumulator
import org.apache.spark.{SparkConf, SparkContext}
/**
*张三|男|23|未婚|北京|海淀
*李四|女|25|已婚|河北|石家庄
*
*统计:
* 1.数据中所有人的平均年龄
* 2.数据中所有男性未婚的人数和女性未婚人数
* 3.数据中20-30已婚数量前3的省份
* 4.未婚比例(未婚人数/该城市总人数)最高的前3个城市
*/
object UserInfo {
def main(args: Array[String]): Unit = {
val conf: SparkConf = new SparkConf()
.setAppName(this.getClass.getSimpleName)
.setMaster("local[*]")
val sc = new SparkContext(conf)
//读取原始文件
val strFile: RDD[String] = sc.textFile("D:\\data\\data\\userinfo")
val srcRdd: RDD[(String, String, Int, String, String, String)] = strFile.map(t => {
val strings: Array[String] = t.split("\\|")
val name: String = strings(0)
val gender = strings(1)
val age = strings(2).toInt
val isMarry: String = strings(3)
val province = strings(4)
val city = strings(5)
(name, gender, age, isMarry, province, city)
})
srcRdd.cache()
//1.数据中所有人的平均年龄 李四|女|25|已婚|河北|石家庄
val ageAccumulator: LongAccumulator = sc.longAccumulator //使用累加器统计总人数
val ageCount: Int = srcRdd.map(t => {
ageAccumulator.add(1)
t._3
}).rece(_ + _)
val ageNumber = ageAccumulator.value
val avgAge = ageCount.toLong/(ageNumber*1.0)
println(s"所有人的平均年龄为${avgAge}")
//2.数据中所有男性未婚的人数和女性未婚人数
val genderAndMarryRDD: RDD[(String, Iterable[(String, String)])] = srcRdd.map(t => {
(t._1, t._3) //性别,婚否
}).filter(_._2.equals("未婚")).groupBy(_._1) //按性别分组
val res2RDD: RDD[(String, Int)] = genderAndMarryRDD.mapValues(t=>t.size)
res2RDD.collect().foreach(println)
//数据中20-30已婚数量前3的省份 李四|女|25|已婚|河北|石家庄
val res3: Array[(Int, String)] = srcRdd.filter(t => {
t._3 >= 20 && t._3 <= 30 && t._4.equals("已婚")
})//删选出满足20-30已婚的数据,按省份分组,求v的size即是20-30已婚数量
.groupBy(_._5).mapValues(_.size)
//k,v互换取前3
.map(t => (t._2, t._1)).top(3)
res3.foreach(println)
//(城市,(未婚人数,已婚人数))
//未婚比例(未婚人数/该城市总人数)最高的前3个城市 李四|女|25|已婚|河北|石家庄
‘伍’ 求救air for android 怎样设置启动画面
启动画面 Adobe已经创建了非常容易添加到你的应用程序的启动画面。启动画面是在应用程序加载时首先加载和显示的图像。有多个选项来显示此启动画面,但让我们看看一个基本的示例,它显示了splashScreenImage属性被设置为.PNG图像。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" splashScreenImage="@Embed('happytoad.png')"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> </s:Application>
‘陆’ 大数据中的Spark指的是什么
谢谢邀请!
spark最初是由伯克利大学的amplab于2009年提交的一个项目,现在已经是Apache软件基金会最活跃的项目,对于spark,apache给出的官方定义是:spark是一个快速和通用的大数据处理引擎。可以理解为一个分布式大数据处理框架,spark是基于Rdd(弹性分布式数据集),立足于内存计算,在“one stack to rule them all” 的思想引导下 ,打造了一个可以流式处理(spark streaming),机器学习(mllib),实时查询(spark sql),图计算(graphx)等各种大数据处理,无缝连接的一栈式计算平台,由于spark在性能和扩展上快速,易用,通用的特点,使之成为一个一体化,多元化的大数据计算平台。
spark的一栈式优势
1 快速处理,比hadoop快100倍,因为spark是基于内存计算,而hadoop是基于磁盘计算
2易用性,spark支持多种语言
3 通用性强,可以流式处理,及时查询,图计算,机器学习
4 可以和hadoop数据集成,运行在yarn上,统一进行资源管理调度
5 活跃和壮大的社区
以上是关于spark的简单定义,希望我的回答可以采纳,谢谢
‘柒’ Spark依赖包加载顺序
在流式计算中对于修改数值的操作或者在 mappartion/foreachPartition 中自定义数据持久化到非主键约束的平台时,就会出现灾难性后果。
一旦出现数据倾斜,启动备用线程执行当前任务,就会出现数据加倍等脏数据。所以在以上场景,无法保证操作幂等性的前提下,不要开启推测执行。
spark 依赖包加载顺序总结:
默认情况下,spark 优先使用 / etc/spark/conf/classpath.txt 里自带的依赖包;
若是找不到则查找用户通过 --jar 提交的依赖包 (位于 driver、executor 的 classpath 里);
若是两个路径下都有相同名字的依赖包(版本不同),则抛出 linked exception 用户解决冲突;
使用 --spark.{driver,executor}.userClassPathFirst = true 优先启用用户提供的依赖包;
使用 --spark.{driver,executor}.extraClassPath = conflict-jar 来解决同名冲突的包依赖;
‘捌’ spark8pro参数
spark8pro参数:spark8pro由带有Mali-G52 GPU的联发科技Helio G85 SoC提供支持。它搭配高达6GB的RAM和64GB的板载存储空间。它装有5,000mAh电池,支持33W闪存充电。该智能手机配备6.8英寸大点阵显示屏,分辨率为FHD+。它的四面都采用薄边框设计,但底部边框稍厚。这款智能手机在后部配备了三摄像头系统,该系统是在香草Spark 8上看到的双摄像头系统上升级的。
Tecno Spark 8 Pro的摄像体验
Tecno Spark 8 Pro背面采用脊状设计和三重摄像头设置,48MP 主摄像头旁边是 2MP 深度摄像头和第三个未指定模块。该手机还装有一个侧面安装的指纹扫描仪,并带有耳机插孔和 33W 充电功能。软件方面由 Android 11 覆盖,顶部是 Tecno 的 HiOS 7.6。
‘玖’ delphiandroidrelease不产生apk文件的原因
程序员大本营
技术文章内容聚合第一站
首页 / 联系我们 / 版权申明 / 隐私条款
搜索
Delphi 10.3.3无法生成安卓Android APK错误:Troubleshooting: Cannot Deploy an Application for Android
技术标签: Delphi android 无法生成Android APK Cannot Deploy
错误提示:Troubleshooting: Cannot Deploy an Application for Android 解决方法:首先检查是否缺少安装Android SDK 颈椎枕疑难解答 没有列出Android目标 无法在设备或模拟器上运行 无法部署 疑难解答。无法部署Android应用程序 要解决这个问题,请查看这些方面。 检查 "...
查看原文
Powered By
VDO.AI
PlayUnmute
Loaded: 0.68%
Fullscreen
charles 排除 pc_如何使Windows为您排除PC问题
with hardware detection and drivers. 硬件和设备 :检查您的计算机是否存在硬件设备问题。 如果硬件设备(尤其是最近安装的硬件设备)无法正常工作,则此疑难解答程序可以... something. 就是这样 没有针对您遇到的每个问题的疑难解答程序,并且确实存在的疑难解答程序无法解决所有问题。 但是,当您遇到某些问题时,疑难解答是一个不错的起点。 › How to
The emulator process for AVD Copy_of_Pixel_3_XL_API_30 was killed.
以前在使用android studio时就遇到过类似的问题,但是好久没用了,今天又遇到了类似的问题: 我的是AVD一直被KILLED,即使把AVD复制到SDK的文件夹下还是被KILLED。 所以肯定是系统设置出了问题。 1: 打开更新与安全 2: 点击立即重新启动 3: 疑难解答 4:选择高级选项 5:启动设置 6:按8禁止。。。。。。。 7:重启 于是就好了,我是小白,希望对你有所帮助
JZ2440V3开发板:05---禁止驱动程序强制签名
整个流程:设置-->更新和安全-->选“恢复”--> 立即重启-->疑难解答-->高级选项-->启动设置-->点击“重启”,此时电脑就会重启来到设置界面,在设置界面选择:疑难解答->高级选项->启动设置->重启。再次重启之后按下F7选择“禁止驱动程序强制签名”
VS 无法在web服务器上启动调试。您没有调试web服务器进程的权限
win10系统: 方法一: ①:右键点击属性 ②:点击高级,把勾去掉。 方法二: ①:找到vs的安装目录,点击devenv.exe右键,选择"兼容性疑难解答"。 ②:选择"疑难解答程序" ③:选择“该程序需要附加权限” ④:要先点击测试程序,然后才能点击下一步。 ⑤:启动VS,大功告成
AutoCAD安装后无法打开快捷键
AutoCAD安装后无法打开快捷键的问题解决方案: 点击右键属性——打开文件所在位置——找到acad所在的位置 点击右键——打开兼容性疑难解答——疑难解答程序——修复以后就出现了激活界面——安照步骤去激活——激活以后就可以打开了
智能推荐
Winsoft JDBC for Android v3.7 for Delphi & C++SEO狼术
Winsoft JDBC for Android v3.7 for Delphi & C++ Builder XE5 - 10.3 Rio Full Source 适用于Delphi和C ++ Builder XE5的Android v3.7的Winsoft JDBC-10.3 Rio完整源代码 适用于Android的Ja...
Android Apk通过代理Application解密,还原正式的Application,AES加密Apk
apk通过代理application解密,还原 1.manifest里添加 2.1解密加密后的Apk里面的.dex文件,还原正式的Application 2,Apk加密,对齐,签名 最终得到的app-signed-aligned.apk就是加密后的 ...
解决AS导入Error:(1, 0) Could not find method apply() for arguments [{plugin=com.android.application}]错误
AS导入项目后,难免会出现错误,这篇帖子针对以下错误做出解决方案。 Error:(1, 0) Could not find method apply() for arguments [{plugin=com.android.application}] on project ':app' of type org.gradle.api.Project. ①:打开项目文件下的App文件夹,复制buil...
解决AS导入Error:(1, 0) Could not find method apply() for arguments [{plugin=com.android.application}]错误
AS导入项目后,难免会出现错误,这篇帖子针对以下错误做出解决方案。 Error:(1, 0) Could not find method apply() for arguments [{plugin=com.android.application}] on project ':app' of type org.gradle.api.Project. ①:打开项目文件下的App文件夹,复制buil...
关于Eclipse for Android安装SDK过程中出现的错误——The import android.support cannot be resolved
The import android.support cannot be resolved 错误提示如下: 1、点击project下的 Properties 2、导航到 Java Build Path 3、然后转到Libraries选项卡。点击Add External JARs右侧窗格上的按钮。 4、选择android-support-v4.jar文件,通常Jar文件的路径为: YOUR_DRIV...
猜你喜欢
已解决错误:This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open t
使用Android Studio首次运行他人项目时, 提示错误: This version of the Android Support plugin for IntelliJ IDEA (or Android Studio) cannot open this project, please retry with version 4.1 or newer. 错误原因: 当前Android Stud...
如何更新DELPHI android版本
如何更新DELPHI android版本 首先打开Android Tools 接着选择需要的新版本进行install 在delphi中依次点击Tool——options弹出如下界面,选中SDK manager,在右侧依次更换SDK文件路径文件即可...
微信小程序使用字体图标
项目中常常需要使用到字体图标,微信小程序中使用字体图标与在平常的web前端中类似但是又有区别。下面以使用阿里图标为例子讲解如何在微信小程序中使用字体图标。 第一步:下载需要的字体图标 进入阿里图标官网http://iconfont.cn/搜索自己想要的图标,如这里需要一个购物车的图标,流程为: 搜索“购物车”图标--->点击“添加入库”--&g...
mr shuffle和spark shuffle的区别
前言 对比mr和spark,Shuffle 过程有着诸多类似,例如,Shuffle 过程中,提供数据的一端被称作 Map 端,Map 端每个生成数据的任务称为 Mapper,对应的,接收数据的一端被称作 Rece 端,Rece 端每个拉取数据的任务称为 Recer。Shuffle 过程本质上都是将 Map 端获得的数据使用分区器进行划分,并将数据发送给对应的 Recer...
硅谷洞察研究院招行业分析师、平面设计师
招人啦招人啦! 硅谷洞察研究院(SV Insight)正在寻找优秀的行业高级分析师、平面设计师小伙伴加入! 工作地点:圣马特奥市,加利福尼亚州,美国 SV Insight自2013年起开始进行以硅谷为中心的美国科技行业报道,前身是知名的硅谷科技媒体——硅谷密探。在稳健的成长及影响力提升后,2018年,SVI品牌升级为硅谷洞察,将主力发展三大业务板块,硅谷洞察研究院、硅谷密探...
相关问题
iOS multitasking for an Audio Recording application
How to read an OpenOffice document spreadsheet from an android application?
RSpec setup for an application that depends on an external database from another application
Apache Server Timeout with an error message "The page cannot be displayed" for a PHP script
Data migration process for an application whose architecture is changing?
Looking for an information retrival / text mining application or library
Cannot use [] for reading
Is there an android equivalent for S60 platform's LandmarkStore
Application.PelayInitialize for Delphi 7服务的替代方案?
Caching architecture for search results in an ASP.NET application
相关文章
解决Qt报错:Android deploy settings file not found, not building an APK.
Android error系列:Unable to add window -- token null is not for an application
Delphi XE5 for Android (十一)
Delphi XE5 for Android (八)
Delphi XE5 for Android (十)
Delphi XE5 for Android (五)
Delphi10.3.3 部署android 开发环境
Android Application
Android Studio 错误 Application Installation Failed...INSTALL_FAILED_INVALID_APK…
Android开发控制台报错--WARNING: Application does not specify an API level requirement!
热门文章
KEIL5生成bin文件
关于comsol的那些保姆级技巧(2)
Unity使用UGUI-制作图集
linux下在没有core文件时利用系统日志和map文件定位core 问题
2021年磺化工艺模拟考试题及磺化工艺作业考试题库
韩寒:一个产品经理的自我修养
java 进程名称_java中获取进程列表,进程id,进程名称,根据进程id或进程名称来杀进程...
UI设计薪酬范围是多少 如何快速掌握UI技能
Filecoin协议实验室再推加速器计划,IPFS 助力Web3.0!
在成长中遇到的挫折事件对你的影响_挫折教育不只是让孩子多吃苦
推荐文章
【Funpack】低功耗蓝牙 BLE 协议架构
2017全国计算机表演赛,第26届中国儿童青少年计算机表演赛完美收官
Jmeter工具篇(一):关于Jmeter工具的基本介绍
微软系统工具套装(Windows Sysinternals Suite)
win10 Anaconda3 安装tensorflow CPU
盘点小数点位数( 有几位显示几位,无则不显示)
如何看待代理IP在网络中的使用
概率分布之间的距离度量以及python实现
一个兼容所有浏览器的滑动固定导航--值得收藏
六 上下文切换
相关标签
Qt for android
fmx
delphi
Winsoft
Winsoft JDBC
AndroidStudio
Error
android studio
android
kotlin
Copyright © 2018-2022 - All Rights Reserved - www.pianshen.com
网站内容人工审核和清理中!本站和cxyzjd等抄袭本站模板的网站没有任何关系,请注意分辨!
本站在春节期间即将改版,对人工核实过的涉及csdn版权文章做删除处理,
仅保留摘要,大家可以点击摘要后面的“查看原文”跳转到csdn查看。改版后的网站不再发布任何和csdn有关的文章,谢谢理解。
由于数据、程序改动较大,加之时间匆忙,本次改版会持续数日,可能会间歇性影响用户访问。
同时由于csdn自身存在大量版权争议文章,例如机器人账号、转载和不实标注原创问题,本次数据改动均采取人工核实,难免有遗漏和偏差,请来信指正。
‘拾’ spark和java的关系
通常大家只是说Spark是基于内存计算的,速度比MapRece要快。或者说内存中迭代计算。其实我们要抓住问题的本质。总结有以下几点:
1、Spark vs MapRece ≠ 内存 vs 磁盘
其实Spark和MapRece的计算都发生在内存中,区别在于:
MapRece通常需要将计算的中间结果写入磁盘,然后还要读取磁盘,从而导致了频繁的磁盘IO。
Spark则不需要将计算的中间结果写入磁盘,这得益于Spark的RDD(弹性分布式数据集,很强大)和DAG(有向无环图),其中DAG记录了job的stage以及在job执行过程中父RDD和子RDD之间的依赖关系。中间结果能够以RDD的形式存放在内存中,且能够从DAG中恢复,大大减少了磁盘IO。
2、Spark vs MapRece Shuffle的不同
Spark和MapRece在计算过程中通常都不可避免的会进行Shuffle,两者至少有一点不同:
MapRece在Shuffle时需要花费大量时间进行排序,排序在MapRece的Shuffle中似乎是不可避免的;
Spark在Shuffle时则只有部分场景才需要排序,支持基于Hash的分布式聚合,更加省时;
3、多进程模型 vs 多线程模型的区别
MapRece采用了多进程模型,而Spark采用了多线程模型。多进程模型的好处是便于细粒度控制每个任务占用的资源,但每次任务的启动都会消耗一定的启动时间。就是说MapRece的Map Task和Rece Task是进程级别的,而Spark Task则是基于线程模型的,就是说maprece 中的 map 和 rece 都是 jvm 进程,每次启动都需要重新申请资源,消耗了不必要的时间(假设容器启动时间大概1s,如果有1200个block,那么单独启动map进程事件就需要20分钟)
Spark则是通过复用线程池中的线程来减少启动、关闭task所需要的开销。(多线程模型也有缺点,由于同节点上所有任务运行在一个进程中,因此,会出现严重的资源争用,难以细粒度控制每个任务占用资源)
总结:关于Spark为什么比MapRece快,或者Spark速度快于MapRece的原因,总结至少有这几点不同之处吧。