Hi experts
I run below code  in Spark Shell to access parquet files in Tachyon.
1.First,created a DataFrame by loading a bunch of Parquet Files in Tachyon
val ta3 
=sqlContext.parquetFile("tachyon://tachyonserver:19998/apps/tachyon/zhangxf/parquetAdClick-6p-256m");
2.Second, set the "fs.local.block.size" to 256M to make sure that block size of 
output files in Tachyon is 256M.
   sc.hadoopConfiguration.setLong("fs.local.block.size",268435456)
3.Third,saved above DataFrame into Parquet files that is stored in Tachyon
  
ta3.saveAsParquetFile("tachyon://tachyonserver:19998/apps/tachyon/zhangxf/parquetAdClick-6p-256m-test");
After above code run successfully, the output parquet files were stored in 
Tachyon,but these files have different block size,below is the information of 
those files in the path 
"tachyon://tachyonserver:19998/apps/tachyon/zhangxf/parquetAdClick-6p-256m-test":
    File Name                     Size              Block Size     In-Memory    
 Pin     Creation Time
 _SUCCESS                      0.00 B           256.00 MB     100%         NO   
  04-13-2015 17:48:23:519
_common_metadata      1088.00 B      256.00 MB     100%         NO     
04-13-2015 17:48:23:741
_metadata                       22.71 KB       256.00 MB     100%         NO    
 04-13-2015 17:48:23:646
part-r-00001.parquet     177.19 MB     32.00 MB      100%         NO     
04-13-2015 17:46:44:626
part-r-00002.parquet     177.21 MB     32.00 MB      100%         NO     
04-13-2015 17:46:44:636
part-r-00003.parquet     177.02 MB     32.00 MB      100%         NO     
04-13-2015 17:46:45:439
part-r-00004.parquet     177.21 MB     32.00 MB      100%         NO     
04-13-2015 17:46:44:845
part-r-00005.parquet     177.40 MB     32.00 MB      100%         NO     
04-13-2015 17:46:44:638
part-r-00006.parquet     177.33 MB     32.00 MB      100%         NO     
04-13-2015 17:46:44:648

It seems that the API saveAsParquetFile does not distribute/broadcast the 
hadoopconfiguration to executors like the other API such as saveAsTextFile.The 
configutation "fs.local.block.size" only take effects on Driver.
If I set that configuration before loading parquet files,the problem is gone.
Could anyone help me verify this problem?

Thanks
Zhang Xiongfei

Reply via email to