挂在本地yum mkdir /media/cdrom/ mount /dev/cdrom /media/cdrom/ cd /etc/yum.repos.d/ mkdir bak mv *.* bak/ cd bak/ mv CentOS-Media.repo ../ cd ../ vi CentOS-Media.repo vi :i 进入编辑 :q! 强制退出 :w! 保存退出 yum list [base] name=RedHat baseurl=file:///mnt/cdrom #注:这里的baseurl就是你挂载的目录,在这里是/mnt/cdrom enabled=1 #注:这里的值enabled一定要为1 gpgckeck的值无所谓 gpgckeck=0 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 #注:这个你cd /mnt/cdrom/可以看到这个key,这里仅仅是个例子 安装新的编辑器 yum install nano 安装ssh yum install openssh-server openssh-clients 工具Xshell ssh上liunx 启动网卡 cd /etc/sysconfig/network-scripts nano ifcfg-ens33 ONBOOT=no => ONBOOT=yes 设置固定IP BOOTPROTO=dhcp => BOOTPROTO=static IPADDR=192.168.211.7 IP地址 GATEWAY=192.168.211.1 网关 NETMASK=255.255.255.0 掩码 重启网络服务 systemctl restart network 网络工具 yum install net-tools ifconfig ping命令 上传下载 yum install -y lrzsz rz 上传 sz 下载 上传软件到服务器 tar -zcvf my.tar aaa/ 压缩并打包 tar -xvf my.tar -C xx/xxx 解包 pwd 显示当前路径 上传 java包 配置java环境变量 export JAVA_HOME=/usr/lib/java/jdk1.8.0_11 export PATH=$PATH:$JAVA_HOME/bin nano /etc/profile 刷新缓存 source /etc/profile /root/bigdata/lib/hadoop-2.9.0/etc/hadoop hadoop-env.sh export JAVA_HOME=/root/bigdata/lib/jdk1.8.0_11 core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://hdp01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hdpdata</value> </property> hdfs-site.xml <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.http.address</name> <value>0.0.0.0:50070</value> </property> 不配置就是单机版 mapred-site.xml.template <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.map.memory.mb</name> <value>512</value> </property> <property> <name>mapreduce.reduce.memory.mb</name> <value>1024</value> </property> 配置老大 yarn-site.xml <property> <name>yarn.resourcemanager.hostname</name> <value>hdp01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> 克隆的改主机名 nano /etc/sysconfig/network hostname hdp01 nano /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.211.7 hdp01 192.168.211.8 hdp02 192.168.211.9 hdp03 配置hadoop环境变量pwd 获取目录 /root/bigdata/lib/hadoop-2.9.0 export HADOOP_HOME=/root/bigdata/lib/hadoop-2.9.0 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile 格式化hadoop hadoop namenode -format 启动集群 hadoop-daemon.sh start namenode hadoop-daemon.sh start datanode yarn-daemon.sh start resourcemanager jps查看进程 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 防火墙 nano /etc/sysconfig/iptables service iptables restart/start/stop 8032 8042 8088 9000 50070 50010 50075 注意防火墙端口 权限不统一 hadoop fs -put 1.txt / 加入文件 hadoop fs -ls / 查看文件 hadoop fs -get /1.txt 下载文件 hadoop fs -mkdir -p /wordcount/input 建立文件夹 hadoop fs -put 1.txt 2.txt /wordcount/input 传多个 wordcount /home/hadoop/apps/hadoop-2.9.0/share/hadoop/mapreduce hadoop jar hadoop-mapreduce-examples-2.9.0.jar wordcount /wordcount/input /wordcount/output hadoop jar wc.jar org.bigdata.mr.wcdemo.WordcountDriver /wordcount/input /wordcount/output 单机版 hadoop.tmp.dir下去找namenode和datanode的VERSION文件 只需要把其中一个clusterID改成相同的就可以了 /etc/hadoop/log4j.properties log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR eclipse参数伪造 -DHADOOP_USER_NAME=hadoop 进入conf/ spark-env.sh.template export JAVA_HOME=/usr/lib/java/jdk1.8.0_11 export SPARK_MASTER_IP=hdp01 export SPARK_MASTER_PORT=7077 slaves.template cp slaves.template slaves 设置IP hdp02 hdp03 /home/hadoop/bigdata/spark-2.2.1-bin-hadoop2.7/bin export JAVA_HOME=/usr/lib/java/jdk1.8.0_11 export HADOOP_HOME=/home/hadoop/bigdata/hadoop-2.9.0 export SPARK_HOME=/home/hadoop/bigdata/spark-2.2.1-bin-hadoop2.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin $SPARK_HOME/sbin/start-all.sh nano /etc/selinux/config SELINUX=disabled 全部环境变量 nano /etc/profile export JAVA_HOME=/root/bigdata/lib/jdk1.8.0_11 export HADOOP_HOME=/root/bigdata/lib/hadoop-2.9.0 export SPARK_HOME=/root/bigdata/lib/spark-2.2.1-bin-hadoop2.7 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin source /etc/profile
pyspark 转换 .map(...)转换,每一行的转换 .filter(...)查询 .flatMap(...)转换,和map不同返回一个扁平结果 .distinct(...)转换,高开销去重 .sample(...)随机采样 (False,0.1,6666) 是否替换,抽样10%,随机种子 .Join(...) .leftOuterJoin(...)连接查询 .instrsection(...)匹配相等部分 .repartition(...) 谨慎使用会更改分区 操作 .take(n)取前几行 .collect(...)返回所有谨慎使用 .reduce(...)使用指定方法过滤数据 .count(...)统计元素数量 .saveAsTextFile(...)保存文件 .foreach(...)一个接一个遍历元素,适合把数据保存到默认不支持的数据库 缓存 .cache() DataFrame json=spark.read.json(....)读取格式化数据 json.createOrReplaceTempView("json")创建零时表 DataFrameAPI查询 .show(n)查询前n行 .sql(...).collect()使用sql语句查询数据,这里可以使用.collect() .show(n) .take(n)非小数据时不建议使用.collect() 指定模式 .printSchema()查看字段类型(模式定义) 导入 from pyspark.sql.types import * stringCSVRDD=sc.parallelize([(123,‘Katie‘,19,‘brown‘)]) schema=StructType([StructField("id",LongType(),True)]) spark.createDataFrame(stringCSVRDD,schema) 利用 StructType和StructField定义类型,多数情况下我们不需要使用指定模式,使用默认的推断模式 利用DataFrameAPI查询 .collect() .show() .take() .count() .filter() 筛选子句 例句: csv.select("id","age").filter("age=22").show() csv.select(csv.id,csv.age,csv.name).filter(csv.age==22).show() csv.select("name","eyeColor","age").filter("eyeColor like ‘b%‘").show() 利用Sql查询 spark.sql() 例句: spark.sql("select count(0) from csv").show() spark.sql("select id,age from csv where age=22").show() spark.sql("select id,age,name,eyeColor from csv where eyeColor like ‘b%‘").show() 读取文件数据可以读取任何可以分割的序列数据 spark.read.csv(airportFilePath,header=‘true‘,inferSchema=‘true‘,sep=‘\t‘) .cache()缓存 数据建模 检查数据重复 df.count() 和 df.distinct().count()比较 df.dropDuplicates() 移除相同的行 df.select([c for c in df.columns if c!=‘id‘]).distinct().count() 不包含某列的查重 df.dropDuplicates(subset=[c for c in df.columns if c!=‘id‘]) 去除不包含某列的重复 查找相同数据 import pyspark.sql.functions as fn df.agg() df.agg( fn.count(‘id‘).alias(‘count‘), fn.countDistinct(‘id‘).alias(‘distinct‘) ).show() 重新分配个新ID df.withColumn(‘new_id‘,fn.monotonically_increasing_id()).show() 熟悉你的数据 http://spark.apache.org/docs/latest/api/python/pyspark.sql.html#module-pyspark.sql.types。 描述性统计 import pyspark.sql.types as typ 聚合函数如下 avg()、count()、countDistinct()、first() kurtosis()、max()、mean()、min()、skewness()、stddev()、 stddev_pop()、stddev_samp()、sum()、sumDistinct()、 var_pop()、var_samp()和 variance()。 可视化 import matplotlib.pyplot as plt 数据达到数量级别是没法直接显示,首先得聚合
原文:https://www.cnblogs.com/ruralcraftsman/p/11387625.html