- 博客(65)
- 收藏
- 关注
原创 Jupyter Notebook输入python代码没智能提示
pip install jupyter_contrib_nbextensions命令需要下载文件,请耐心等待。执行完成后,重启Jupyter,会发现菜单中多了“Nbextensions”一项。将下图红线出的选项选中,进入notebook后,编辑代码就可以智能提示了。1、在Jupyter中打开控制台。
2024-05-07 14:05:54
1276
原创 Jupyter Notebook修改默认文件保存路径
鼠标右击 – 属性 – 目标,去掉后面的 “%USERPROFILE%/”,或者在去掉"%USERPROFILE%/"之后添加上自己的文件保存路径(添加路径时一定要与原先的有空格的距离,不然打开Jupyter Notebook会出错);找到对应的“Jupyte Notebook”快捷图标,鼠标右击 -- 属性 -- 目标,去掉后面的 "%USERPROFILE%/"(很重要),然后点击“应用”,“确定”重新启动Jupyte Notebook,发现之前Jupyter中的文件和目录都没了,说明修改完成了。
2024-05-07 11:28:14
530
原创 Hadoop部署模式
4. 云平台部署:将Hadoop部署在云平台上,这种方式可以根据需要灵活地扩展计算和存储资源,并根据使用情况进行计费。Hadoop部署模式常用部署方式有三种,分别是:单机模式、伪分布式模式、完全分布式模式,除此之外,还有云平台部署和容器化部署。下面分别说明5种部署方式的特点。1. 单机模式(Standalone Mode):又叫独立部署,这种方式适合在单个计算机上运行Hadoop,用于开发、测试或学习目的。5. 容器化部署:使用容器技术(如Docker)将Hadoop打包为一个或多个容器,并在集群中运行。
2024-05-06 14:55:50
392
原创 pycharm创建新项目
1. 点击‘interpreter’最后面的有三个点的框 -----》 选中界面中左面的‘System Interpreter’ -----》 选中页面右边‘interpreter’后面的有三个点的框 -----》开始选择你当初安装PYthon解释器的目录,,最后一直点击‘OK’-----》点击‘Create’创建项目。打开PyCharm ----》 点击新建项目(New Project)----》 选择项目根目录和。解释器的版本 -----》 点击创建(Create),即可完成新建一个项目。
2024-04-23 15:15:00
960
原创 anaconda安装python 3.8环境
然后进入python3.8,执行命令:conda activate py38 查看版本,命令:python --version。在命令行窗口中,输入命令:conda create -n py38 python=3.8。执行命令后,显示conda版本、安装路径和安装的包。打开anaconda命令行窗口。然后提醒是否安装,输入y。
2024-04-23 14:25:16
3804
1
原创 Spark RDD的转换
withScope就像是一个 AOP(面向切面编程),嵌入到所有RDD 的转换和操作的函数中,RDDOperationScope会把调用栈记录下来,用于绘制Spark UI的 DAG(有向无环图,可以理解为 Spark 的执行计划)。下文中两个 RDD 的关联中,两个 RDD 分别称为 rdd1、rdd2。同样是多个源 RDD 依据 key 关联,key 相同的做排序或聚合运算,形成最终的目标 RDD。多个源 RDD 依据 key 关联,key 相同的合并,形成最终的目标 RDD。在分区中采样的RDD。
2023-12-13 16:00:14
1022
转载 RDD是什么
这句话创建了一个包含slices个分区的 RDD,RDD 的内容是1到 n,这 n+1 个数。计算x*x+y*y,这是点(x, y)到(0, 0) 的距离,当距离不大1(点落在r=1的圆内)时,取1,否则取0。解释:不可变的,这和 Scala 的设计理念相同,数据集一旦构建完成,就不能再修改,这样能轻松解决多个线程读数据的一致性问题。RDD是Spark的基础,是对大数据的抽象,所以先破解Spark,首先从RDD开始。那么随机取 N 个点,点落圆内的几率等于圆的面积/边长为2的正方形的面积。
2023-12-13 15:42:40
137
原创 Spark RDD、DataFrame、DataSet比较
②DataSet结合了RDD和DataFrame的优点,并带来的一个新的概念Encoder。有schema和off-heap概念,DataFrame解决了RDD的缺点,但是却丢了RDD的优点。RDD,作为Spark的核心数据抽象,是Spark当中不可或缺的存在,而在SparkSQL中,Spark为我们提供了两个新的抽象,分别是DataFrame和DataSet。off-heap就像地盘,schema就像地图,Spark有地图又有自己地盘了,就可以自己说了算了,不再受JVM的限制,也就不再收GC的困扰了。
2023-12-13 11:10:45
679
原创 Spark面试题集锦
数据不动代码动的最高境界是数据就在当前节点的内存中。有一点非常重要,就是由于RDD有前后依赖关系,遇到宽依赖关系,例如,遇到reduceBykey等宽依赖操作的算子,Spark将根据宽依赖划分Stage,Stage内部通过Pipeline操作,通过Block Manager获取相关的数据,因为具体的split要从外界读数据,也要把具体的计算结果写入外界,所以用了一个管理器,具体的split都会映射成BlockManager的Block,而具体split会被函数处理,函数处理的具体形式是以任务的形式进行的。
2023-11-27 21:35:18
1472
1
原创 pyspark连接mysql数据库报错
下载完成后,解压,将mysql-connector-java-8.0.30.jar拷贝到spark安装目录的libs中。使用pyspark连接mysql数据库代码如下。查询mysql版本命令:mysql -V。
2023-11-06 11:29:14
914
原创 大数据知识点之什么是大数据
2006——2009年,谷歌公开发表两篇论文《谷歌文件系统》和《基于集群的简单数据处理:MapReduce》,其核心的技术包括分布式文件系统GFS,分布式计算系统框架MapReduce,分布式锁Chubby,及分布式数据库BigTable,这期间大数据研究的焦点是性能,云计算,大规模的数据集并行运算算法,以及开源分布式架构(Hadoop)简单理解就是:那些数据量很大、增长速度很快,数据结构和样式复杂,传统数据库很难存储、处理,传统方法很难分析的信息。感兴趣的同学可以了解下大数据的发展史。
2023-09-18 17:31:28
311
原创 大数据知识点之大数据5V特征
大规模的数据量,在处理的时候,对技术体系是有较高的要求的。对于一个企业来说,每天都会新增庞大的数据,这些数据可能来自于用户的操作、可能来自于智能家居、可能来自于各种传感器等,数据的来源非常多,而且数据量的增速也是非常可怕的。大数据相关的技术体系,需要处理的数据量是非常庞大的,动辄PB、EB规模的数据,但是真正具有价值的数据却非常稀少,只有100M,甚至更少。半结构化的数据,指的是有一定的结构性,但是比起关系型数据库表中的结构化的数据来说,结构不是那么清晰,处理起来也比结构化的数据略微麻烦。
2023-09-13 16:48:39
3556
原创 MySQL Windows 64位解压版安装
使用exit命令退出后,重新登录,此时已经设置了密码,需要输入密码才能登录,命令:mysql -u root -h localhost -pPassword,其中Password是密码,注意:如果已经安装了MySQL,需要先移除,执行命令:mysqld --remove ,再安装:mysqld --install。打开工具,点击工具栏上“新建数据库连接”按钮,打开新建窗口,选择MySQL数据库,点击“下一步”的版本,下载到本地,并解压到自己想要放的位置,比如:D:\soft。
2023-06-03 20:15:00
2653
原创 hive数据类型
hive数据类型分为简单数据类型和复合数据类型。简单数据类型:数值类型、布尔类型、字符类型、时间类型、BINARY类型。复合数据类型:arrays、maps、structs、union。
2022-10-16 21:15:06
1801
1
原创 idea开发遇到的问题整理
问题一:CreateProcess error=206, 文件名或扩展名太长问题二:No tests found for given includes问题三:Error running ReadDDL.create table. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun问题四:A master URL must be set in your
2022-09-21 18:17:38
2330
1
原创 DBeaver执行SQL脚本文件
2、在弹出窗口中选择输入文件,并修改Extra command args:--default-character-set=utf8,防止中文乱码,点击开始按钮。1、右键库名,点击工具-->执行脚本。
2022-08-17 14:18:30
26905
6
原创 Spark使用scala语言连接hive数据库
一、步骤step1:使用idea创建maven管理工具创建项目sparkconnhivestep2:在main下添加resources文件夹,并设置为Resources rootstep3:拷贝Hadoop安装路径中etc目录下的core-site.xml、hdfs-site.xml文件到resources中step4:拷贝hive安装路径中conf目录下的hive-site.xml文件到resources中step5:修改hive-site.xml文件中的javax.jdo
2022-05-26 22:34:33
2193
1
原创 Hive安装、启动过程中遇到的问题及解决方案
问题一:hive> select 1;FAILED: SemanticException org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/hive/root/2ea6fd2b-c1f9-4a2b-8fac-5e6ed9674bac/hive_2022-03-20_21-31-37_510_3468482020810973734-1/dummy_path/dummy_file could only be
2022-03-20 23:29:41
3589
原创 Linux环境安装Hadoop单机版
一、安装版本hadoop-2.7.5下载地址:Index of /dist/hadoop/core (apache.org)二、准备工作1、安装jdk 8及以上版本2、修改主机名称(可以不修改)3、关闭防火墙三、安装1、解压到/opt目录下tar -zxvf hadoop-2.7.5.tar.gz -C /opt/2、配置hadoop环境变量vim /etc/profileexport HADOOP_HOME=/opt/hadoop-2.7.5e
2022-03-20 22:04:31
3419
原创 Linux CentOS 7修改主机名称
一、查看主机名称。 查看主机名称的方法有两种:1、使用hostname命令[root@master ~]# hostnamemaster2、使用hostnamectl命令[root@master ~]# hostnamectl Static hostname: master Icon name: computer-vm Chassis: vm Machine ID: 2162727903004302a6c42b6bee5d...
2022-03-19 12:44:26
3470
原创 DBeaver连接MariaDB数据库问题
1、防火墙问题:说明:使用telnet命令连接不通mariadb服务器端口解决方案:为防火墙添加开放端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent重新载入:firewall-cmd --reload然后问题解决。2、Could not connect to address=(host=192.168.90.3)(port=3306)(type=master) : (conn=4) Access den
2022-03-02 14:12:12
3700
原创 使用Idea创建Scala项目报错scalac: Error: Error compiling the sbt component ‘compiler-interface-2.10.0-52.0‘
错误日志:scalac: Error: Error compiling the sbt component 'compiler-interface-2.10.0-52.0'sbt.internal.inc.CompileFailed: Error compiling the sbt component 'compiler-interface-2.10.0-52.0' at sbt.internal.inc.AnalyzingCompiler$.handleCompilationError$1...
2022-02-21 18:17:10
2090
原创 Oracle体系结构篇之数据文件
在开始介绍数据文件之前,我们先先回顾下数据库包含哪些文件?有参数文件、控制文件、数据文件、重做日志文件、归档日志文件、跟踪文件、口令文件、警告文件等。具体介绍请查看:Oracle体系结构篇之数据库一、概述1.1、数据文件数据文件是指存储数据库中数据的文件,这些“xxxx.dbf”存储着系统数据、数据字典数据、索引数据以及用户存储的数据,所以这部分也是数据库最核心的部分。数据文件大小是灵活的,可以通过设置让它自动扩展,避免了数据量过大但是数据文件空间有限这种状况; 数据文件是专属于一个数据库的
2021-12-14 16:20:41
2303
原创 Oracle锁的示例
锁是解决事务隔离性的一种内部机制,有关锁的详细介绍,请参考:https://blog.csdn.net/Flychuer/article/details/120766168本篇主要用一些示例来解释锁。版本:Red Hat Linux 6、Oracle 11.2工具:PL/SQL Developer说明:为了方便查看锁,本篇采用了大批量操作数据,可根据个人机器性能,调整操作数据的条数。一、准备工作1.1、测试表创建一张测试表CST_TRANCREATE TABLE CST_T
2021-12-11 18:07:07
1291
原创 Oracle进阶篇之查看执行计划
目录一、查看执行计划的方式1.1、设置autotrace1.2、使用第三方工具1.3、EXPLAIN PLAN FOR二、清除SGA缓存三、分析执行计划3.1、创建测试表3.2、查看执行计划3.2.1、执行计划3.2.2、谓词说明:3.2.3、统计信息四、部分信息解释4.1、SQL*Net roundtrips to/from client的计算方式4.2、consistent gets今天谈一谈Oracle查看执行计划的方式,以及怎样看执行计划。
2021-12-08 17:33:58
6746
原创 MySQL使用Navicat登录时报错(1251)
今天新建一个用户,create user 'test'@'localhost' identified by 'test';然后给用户授权,grant all on *.* to 'test'@'localhost';在使用Navicat登录此用户时报错,很是奇怪,网上搜索后,方知MySQL8之后,用户密码的默认加密方式由mysql_native_password 变为了caching_sha2_password。而我的Navicat版本比较旧,不支持此种新特性的加密方式,可以在数据库中查看加
2021-12-07 11:47:10
730
原创 Java并发编程之volatile关键字详解
volatile是Java语言提供的一个关键字,可用来修饰变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。volatile的使用与Java内存模型(JMM)有很大关系,不熟悉JMM的,请查看:Java并发编程之Java内存模型注:下文中提到的本地内
2021-12-05 10:47:59
430
原创 Java基础篇——集合
1、什么是集合Java 的集合就像一个容器,用来存储 Java 类的对象。2、集合与数组的区别长度:集合长度可变;数组长度固定。保存对象:集合只能保存引用数据类型;数组既可以保存引用数据类型,又可以保存基本数据类型元素内容:集合可以保存不同类型的数据(其实在使用中也是保存同一类型的数据,使用泛型限制);数组保存同一类型数据3、集合包含哪些包含:List、Set、Map4、List和Set的区别有序性:List有序;Set无序。唯一性:List元素可以重复;S
2021-12-04 15:33:56
589
原创 mysql [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...问题
在navicat中执行create table语句时报错:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompat
2021-12-04 15:32:08
856
原创 Java并发编程之Java内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Ja
2021-12-04 14:59:04
237
原创 Java并发编程之基础
一、进程与线程1.1、进程进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标准定义。进程一般由程序,数据集合和进程控制块三部分组成。程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。1.2、线程线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器
2021-12-03 22:15:10
577
原创 Java并发编程之ReentrantLock
一、概述在Java5之前,Java多线程中可以使用synchronized隐式锁实现线程之间同步互斥。Java5中提供了Lock类(显示锁)也可以实现线程间的同步,而且在使用上更加方便。本文主要研究ReentrantLock的使用。1.1、ReentrantLock与synchronized比较1)ReentrantLock和synchronized都是独占锁,只允许线程互斥的访问临界区。但是实现上两者不同:synchronized加锁解锁的过程是隐式的,用户不用手动操作,优点是操作简单,但显得
2021-12-03 16:29:58
668
原创 Java并发编程之AQS
一、概述AbstractQueuedSynchronizer抽象队列同步器简称AQS,它是实现同步器的基础组件,juc下面Lock的实现以及一些并发工具类就是通过AQS来实现的,如常用的ReentrantLock、Semaphore、CountDownLatch...... 这里我们通过AQS的类图先看一下大概,下面我们总结一下AQS的实现原理。二、框架AQS维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。.
2021-12-03 11:58:47
582
2
原创 Java并发编程之CountDownLatch
一、概述作用:可以用来确保某些活动直到其他活动都完成后才继续执行。它一个同步工具,一般被称作"计数器",作用大致就是数量达到了某个点之后计数结束,才能继续往下走。可以用作流程控制之类的作用,主流程分成多个子流程,然后主流程在子流程全部结束之前不动(子流程最好是相互独立的,除非能很好的控制两个流程的关联关系),子流程全部结束后主流程开始操作。应用场景:CountDownLatch非常适合于对任务进行拆分,使其并行执行,比如某个任务执行2s,其对数据的请求可以分为五个部分,那么就可以将这个任务拆分为5个子任
2021-12-02 16:30:02
3957
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人