2017-02-16 8 views
0

Я пытаюсь загрузить данные из файла csv в Hive. Я использую JAVA API искры для этого. Я хочу знать, как я могу загружать данные в куст, используя искровые информационные кадры.
Вот что я пытаюсь сделать это с помощью JSON:Как я могу загрузить данные csv в куст, используя Spark dataframes?

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, предоставленном databricks.
Пожалуйста, дайте мне знать, как я могу это сделать.

+0

какую версию искры вы используете? также ваша проблема, читая csv или помещая результирующий фреймворк в улей? –

+0

вы можете использовать пакет spark-csv для чтения файлов csv в 'dataframe', а затем использовать его для загрузки в таблицу hive. https://github.com/databricks/spark-csv –

+0

@AssafMendelson Spark version 1.6.0 –

ответ

0

На искру 2.xx CSV построен в (нет необходимости в упаковке) Try читать так:

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) 

рассмотрит первая строка должна быть заголовком и соответственно содержать названия столбцов

+0

Разве можно писать в улей? На самом деле чтение было проблемой, которая сейчас борется с написанием. –

+0

вы можете попробовать http://stackoverflow.com/questions/40122201/storing-a-dataframe-to-a-hive-partition-table-in-spark. У меня нет настроенного улья, поэтому я не могу проверить себя –

 Смежные вопросы

  • Нет связанных вопросов^_^