我正在尝试将数据从csv文件加载到Hive。我正在使用Spark的JAVA API来做到这一点。我想知道如何使用spark数据帧在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。我对数据库提供的Spark-csv有一些了解 请告诉我如何做到这一点。
答案 0 :(得分:0)
on 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)
会将第一行视为标题并相应地给出列名