我试图将数据从CSV文件加载到Hive。我正在使用Spark的Java API进行此操作。我想知道如何使用Spark DataFrames在Hive中加载数据。
这是我尝试使用JSON进行的:
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SQLContext;
public class first {
public static void main (String[] args)
{
String inputFileName = "samples/big.txt" ;
String outputDirName = "output" ;
SparkConf conf = new SparkConf().setAppName("org.sparkexample.WordCount").setMaster("local");
JavaSparkContext context = new JavaSparkContext(conf);
@SuppressWarnings("deprecation")
SQLContext sc = new SQLContext(context);
DataFrame input = sc.jsonFile(inputFileName);
input.printSchema();
}
}
,但不知道如何使用CSV制作它。我对Databricks提供的SPARK-CSV有所了解。
请让我知道我该怎么做。
spark 2.x.x csv内置(无需包装)尝试这样阅读:
SparkSession spark = SparkSession
.builder()
.appName("org.sparkexample.WordCount")
.master("local[*]") .
.enableHiveSupport()
.getOrCreate();
DataFrame input = spark.read.csv(inputFileName)
您还可以添加选项:
DataFrame input = spark.read.option("header","true").csv(inputFileName)
将把第一行视为标头,并相应地给出列名