Conda常用命令整理
1 | conda --version #查看conda版本,验证是否安装 |
Conda常用命令整理
分享知识,分享快乐
Conda常用命令整理
1 | conda --version #查看conda版本,验证是否安装 |
Conda常用命令整理
spark-python版本依赖与三方模块方案
(1)使用conda创建python虚拟环境、安装第三方库
假设虚拟环境是pyspark_py36,安装位置是:
1 | /root/miniconda3/envs/pyspark_py36 |
安装的第三方库是:
1 | source activate pyspark_py36 |
其他省略1w字。
(2)打包整个虚拟环境
进入虚拟环境目录,压缩整个文件夹
1 | cd /root/miniconda3/envs/ |
linux基础命令之:vi模式下查找和替换
1 | 一、查找 |
用python进行量化投资:
自己编写:NumPy+pandas+Matplotlib+…
在线平台:聚宽、优矿、米筐、Quantopian、…
开源框架:RQAlpha、QUANTAXIS
rqalpha https://rqalpha.readthedocs.io/zh_CN/latest/index.html
quantaxis https://doc.yutiansut.com/
yarn webUI 看不到日志
解决办法:
Resource Manager webUI No logs available for container
1 | 1. Please verify once if you could collect logs using "yarn logs" command as below? |
在Oozie中不能像执行hive SQL那样直接执行impala SQL脚本。目前没有Impala操作,因此你必须使用调用impala-shell的shell操作。调用impala-shell的shell脚本中还必须包含设置PYTHON EGGS位置的环境变量
1 | export PYTHON_EGG_CACHE=.python-eggs |
注意:目前Hudi使用的是hadoop2.7.3版本,CDH6.3.0 环境使用的是hadoop3.0.0, 所以在打包的时候需要加上**-Dhadoop.version=3.0.0** 参数
1 | mvn clean install -DskipTests -DskipITs -Dcheckstyle.skip=true -Drat.skip=true -Dhadoop.version=3.0.0 |
1 | sudo -u yarn spark-shell \ |
1 | cd /tmp |
1 | drop table if exists hdfs_meta_temp; |
instr(path,’/’,1,2)这两个参数主要表示指定统计的HDFS目录以及目录钻取深度,instr()函数中的最后一个参数即为目录钻取深度
1 | SELECT |
总结
如上SQL的统计分析可以看到有三个比较重要的统计指标file_nums、blockcounts和avg_filesize。通过这三个指标进行小文件分析,进行如下分析:
如果file_nums/blockcounts的值越大且avg_filesize越小则说明该HDFS或Hive表的小文件越多。
方法二、
使用Sqoop脚本将Hive元数据中关于Hive库和表的信息抽取的Hive中
1 | sqoop import \ |
hadoop自带TestDFSIO测试
1 | cd /tmp |
–结果
1 | 21/01/19 15:29:04 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write |
结果说明:
Total MBytes processed : 总共需要写入的数据量 ==》 256*1000
Throughput mb/sec :总共需要写入的数据量/(每个map任务实际写入数据的执行时间之和(这个时间会远小于Test exec time sec))==》256000/(map1写时间+map2写时间+…)
Average IO rate mb/sec :(每个map需要写入的数据量/每个map任务实际写入数据的执行时间)之和/任务数==》(1000/map1写时间+1000/map2写时间+…)/256,所以这个值跟上面一个值总是存在差异。
IO rate std deviation :上一个值的标准差
Test exec time sec :整个job的执行时间
testDFSIO的参数如下:
read | 读测试。执行该测试之前,需要先做write测试 |
---|---|
write | 写测试 |
nfFiles | 文件个数,默认为1 |
fileSize | 文件大小,默认为1MB |
resFile | 结果文件名,默认为” TestDFSIO_results.log” |
bufferSize | 设置缓存大小,默认为1000000 |
clean | 清理数据 |
seq | 数据是否有序,默认无序 |
备注:
今天主要给大家说一下HDFS文件权限的问题。当一个普通用户
去访问HDFS文件
时,可能会报Permission denied
的错误。那么你会怎么做呢?
像修改linux文件似的,可能的做法有:
上面的做法虽然可以达到目的,但是相对来说对权限的把握不是很精准,不适用于生产环境。
本文主要讲解HDFS的ACL(Access Control List)权限,通过hdfs超级用户,来为普通用户分配权限。
如下图所示,
目录没有权限,所以创建失败了。