我正在尝试将Dataframe存储到外部配置单元表中。当我执行以下操作时:
recordDF.write.option("path", "hdfs://quickstart.cloudera:8020/user/cloudera/hadoop/hive/warehouse/VerizonProduct").saveAsTable("productstoreHTable")
在hdfs位置,表应该出现在那里,我得到了以下结果:
-rw-r--r--3 cloudera cloudera 0 2016-12-25 18:58 hadoop/hive/warehouse/Verizon产品/\u成功
-rw-r--r--3 cloudera cloudera 482 2016-12-25 18:58 hadoop/hive/warehouse/verizonproduct/part-r-00000-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy.parquet
-rw-r--r--3 cloudera cloudera 482 2016-12-25 18:58 hadoop/hive/warehouse/verizonproduct/part-r-00001-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy.parquet
-rw-r--r--3 cloudera cloudera 482 2016-12-25 18:58 hadoop/hive/warehouse/verizonproduct/part-r-00002-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy.parquet
-rw-r--r--3 cloudera cloudera 482 2016-12-25 18:58 hadoop/hive/warehouse/verizonproduct/part-r-00003-0acdcc6d-893b-4e9d-b1d6-50bf02bea96a.snappy.parquet
如何将其存储为未压缩文本格式?
谢谢
2条答案
按热度按时间enyaitl31#
您可以添加
format
选项:或
ie3xauqp2#
上述csv格式的解决方案抛出了一个警告“找不到数据源提供程序csv对应的配置单元序列”。未按所需方式创建表。一种解决方案是创建一个外部表,如下所示
sqlContext.sql("CREATE EXTERNAL TABLE test(col1 int,col2 string) STORED AS TEXTFILE LOCATION '/path/in/hdfs'")
.那么
dataFrame.write.format("com.databricks.spark.csv").option("header", "true").save("/path/in/hdfs")