解压parquet格式文件到text

方法一:spark python实现

import sys
from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext

inputpath=sys.argv[1]
outputpath=sys.argv[2]
sc = SparkContext(appName="Transform Pq to Csv")
sqlContext = SQLContext(sc)
df = sqlContext.read.parquet(inputpath)
df.select('*').save(outputpath,"com.databricks.spark.csv",delimiter='\001')

 

 

run:spark-submit --packages com.databricks:spark-csv_2.10:1.2.0 --master yarn-client read_pq.py /tmp/xing/20161115/1049 /tmp/xing/20161115/text/1049

 

方法二:如果是parquet表里的数据,可以通过hql查询得到数据

insert overwrite (local) inpath outputpath

select * from table1_parquet;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成Parquet格式文件需要使用Parquet工具包,以下是使用Java生成Parquet格式文件的示例代码: ```java import org.apache.hadoop.fs.Path; import org.apache.parquet.column.ParquetProperties; import org.apache.parquet.example.data.Group; import org.apache.parquet.example.data.simple.SimpleGroupFactory; import org.apache.parquet.hadoop.ParquetFileWriter.Mode; import org.apache.parquet.hadoop.ParquetWriter; import org.apache.parquet.hadoop.example.GroupWriteSupport; import org.apache.parquet.hadoop.metadata.CompressionCodecName; public class GenerateParquetFile { public static void main(String[] args) throws Exception { String fileName = "example.parquet"; // Create a Group object SimpleGroupFactory groupFactory = new SimpleGroupFactory(GroupWriteSupport.getSchema()); Group group = groupFactory.newGroup() .append("id", 1) .append("name", "Tom") .append("age", 25) .append("score", 89.5f); // Create a ParquetWriter object Path path = new Path(fileName); GroupWriteSupport writeSupport = new GroupWriteSupport(); ParquetWriter<Group> writer = new ParquetWriter<>(path, writeSupport, CompressionCodecName.SNAPPY, ParquetWriter.DEFAULT_BLOCK_SIZE, ParquetWriter.DEFAULT_PAGE_SIZE, ParquetWriter.DEFAULT_PAGE_SIZE, true, false, ParquetProperties.WriterVersion.PARQUET_2_0, Mode.CREATE); // Write the Group object to the Parquet file writer.write(group); // Close the ParquetWriter object writer.close(); } } ``` 这段代码使用SimpleGroupFactory创建了一个Group对象,然后使用ParquetWriter将该对象写入Parquet文件中。需要注意的是,需要使用GroupWriteSupport类指定Parquet schema。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值