Python 如何将csv转换为HDFS内部的拼花文件

Python 如何将csv转换为HDFS内部的拼花文件,python,csv,hadoop,hdfs,parquet,Python,Csv,Hadoop,Hdfs,Parquet,我是大数据的新手,所以Hadoop和hdfs现在对我来说有点消失了,所以我请求帮助。 现在我有4个csv格式的文件,它们位于HDFS集群中,我应该使用Python以PARQUET格式制作4个副本,我不知道如何制作。 我希望你能帮助我解决这个不难解决的问题。我在Scala代码中给出了你的例子,但在Python中做几乎是一样的 我也发表了一些评论和解释 import org.apache.log4j.{Level,Logger} 导入org.apache.spark.sql.SparkSession

我是
大数据
的新手,所以
Hadoop
hdfs
现在对我来说有点消失了,所以我请求帮助。 现在我有4个
csv
格式的文件,它们位于
HDFS
集群中,我应该使用
Python
PARQUET
格式制作4个副本,我不知道如何制作。
我希望你能帮助我解决这个不难解决的问题。

我在
Scala
代码中给出了你的例子,但在
Python
中做几乎是一样的

我也发表了一些评论和解释

import org.apache.log4j.{Level,Logger}
导入org.apache.spark.sql.SparkSession
对象读取CSV{
val spark=火花会话
.builder()
.appName(“ReadCsv”)
.master(“本地[*]”)
.config(“spark.sql.shuffle.partitions”,“4”)//将数据更改为更合理的默认分区数
.config(“spark.app.id”,“ReadCsv”)//以使警告静音
.getOrCreate()
val sqlContext=spark.sqlContext
def main(参数:数组[字符串]):单位={
Logger.getRootLogger.setLevel(Level.ERROR)
试一试{
val df=sqlContext
阅读
.csv(“/path/directory\u to\u csv\u files/”/”/),这里我们读取.csv文件
.cache()
repartition(4)//我们得到四个文件
写
.parquet(“/path/directory\u to\u parquet\u files/”),默认情况下输出格式为file.parquet.snapy
//如果我们想在写入前对拼花地板进行解压缩,我们必须:
//setConf(“spark.sql.parquet.compression.codec”,“uncompressed”)
//要有机会查看Spark的web控制台:http://localhost:4040/
println(“在控制台中键入要退出的内容……”)
scala.io.StdIn.readLine()
}最后{
spark.stop()
println(“SparkSession已停止”)
}
}
}

我将您的示例放在
Scala
代码中,但在
Python
中执行几乎是一样的

我也发表了一些评论和解释

import org.apache.log4j.{Level,Logger}
导入org.apache.spark.sql.SparkSession
对象读取CSV{
val spark=火花会话
.builder()
.appName(“ReadCsv”)
.master(“本地[*]”)
.config(“spark.sql.shuffle.partitions”,“4”)//将数据更改为更合理的默认分区数
.config(“spark.app.id”,“ReadCsv”)//以使警告静音
.getOrCreate()
val sqlContext=spark.sqlContext
def main(参数:数组[字符串]):单位={
Logger.getRootLogger.setLevel(Level.ERROR)
试一试{
val df=sqlContext
阅读
.csv(“/path/directory\u to\u csv\u files/”/”/),这里我们读取.csv文件
.cache()
repartition(4)//我们得到四个文件
写
.parquet(“/path/directory\u to\u parquet\u files/”),默认情况下输出格式为file.parquet.snapy
//如果我们想在写入前对拼花地板进行解压缩,我们必须:
//setConf(“spark.sql.parquet.compression.codec”,“uncompressed”)
//要有机会查看Spark的web控制台:http://localhost:4040/
println(“在控制台中键入要退出的内容……”)
scala.io.StdIn.readLine()
}最后{
spark.stop()
println(“SparkSession已停止”)
}
}
}

欢迎来到StackOverflow!请添加到目前为止您已经尝试过的内容,以及您具体遇到的问题!我们来这里不是为了解决你的任务,而是为了解决一个特定的问题!欢迎来到StackOverflow!请添加到目前为止您已经尝试过的内容,以及您具体遇到的问题!我们来这里不是为了解决你的任务,而是为了解决一个特定的问题!