02 ,将年月提取出来,按照年月拆表,spark 指定输出文件名,不要读取压缩文件

一 ,基恩操作 :

1 ,共几条 : 1.8 亿条

spark.sql("select count(1) from kv").show(20)

2 ,卖货日期的最值 : 两个奇怪的日期

  1. 最大值 : 78190820
  2. 最小值 : 00181030
  3. 代码 :
spark.sql("select max(SALE_DATE),min(SALE_DATE) from sale_float").show(10)
  1. 运行 :
spark-submit --master yarn --deploy-mode client --num-executors 20 --executor-cores 2 --executor-memory 4g --class com.lifecycle.tools.UngzTool s3://lifecyclebigdata/dataWareHouse/BALABALA/02pdw/jar/tools-1.0-SNAPSHOT.jar
  1. 结果 :
+--------------+--------------+
|max(SALE_DATE)|min(SALE_DATE)|
+--------------+--------------+
|      78190820|      00181030|
+--------------+--------------+

3 ,s3 -> hdfs :

  1. 在 hdfs 创建文件夹 :
hdfs dfs -mkdir data 
hdfs dfs -ls /user/root
  1. 结果 : 看到了我们的 data 目录。
  2. 从 s3 下载文件到 hdfs
s3-dist-cp --src=s3://lifecyclebigdata/dataWareHouse/BALABALA/01history/wj/df_sale_float.csv.gz --dest=hdfs:///data

4 ,hdfs -> s3 :

复制 :

s3-dist-cp --src=hdfs:///user/root/df_sale_float.csv.gz --dest=s3://lifecyclebigdata/dataWareHouse/BALABALA/01history/wj

二 ,spark 指定输出文件名 :

1 ,先求共几条,看看性能 :

  1. sql :
spark-submit --master yarn --deploy-mode client --num-executors 20 --executor-cores 2 --executor-memory 4g --class com.lifecycle.tools.CountAll s3://lifecyclebigdata/dataWareHouse/BALABALA/02pdw/jar/tools-1.0-SNAPSHOT.jar
  1. 耗时 :
    3 分钟

2 ,所有年月 :

[001810],[200201],[201109],[201111],

[201510],[201511],[201512],
[201601],[201602],[201603],[201604],[201605],[201606],[201607],[201608],[201609],[201610],[201611],[201612],
[201701],[201702],[201703],[201704],[201705],[201706],[201707],[201708],[201709],[201710],[201711],[201712],
[201801],[201802],[201803],[201804],[201805],[201806],[201807],[201808],[201809],[201810],[201811],[201812],
[201901],[201902],[201903],[201904],[201905],[201906],[201907],[201908],[201909],[201910],[201911],[201912],

[202001],[202003],[202004],[202005],[202006],[202007],[202008],[202309],[202711],[205009],[210612],[210712],[210801],[210802],[210803],[210811],[781908]

3 ,解压后,读大文件 : 看看用多久 ( 46 秒 )

=============
181558350
耗时:-46261
=============

4 ,结论 :

  1. 在压缩文件后,读写速度明显变慢。
  2. 普通文件读写速度很快。
  3. 实验结果 :
    1 ,gz 文件 : 5 分钟
    2 ,csv 文件 : 46 秒
  4. 实际差距可能更大 :
    因为 csv 文件,我还做了个 count 操作

你可能感兴趣的:(02 ,将年月提取出来,按照年月拆表,spark 指定输出文件名,不要读取压缩文件)