将数据作为文本文件从 spark 保存到 hdfs

     2023-04-15     121

关键词:

【中文标题】将数据作为文本文件从 spark 保存到 hdfs【英文标题】:Save data as text file from spark to hdfs 【发布时间】:2016-07-28 05:03:28 【问题描述】:

我使用pySparksqlContext 使用以下查询处理数据:

(sqlContext.sql("select LastUpdate,Count(1) as Count" from temp_t)
           .rdd.coalesce(1).saveAsTextFile("/apps/hive/warehouse/Count"))

按以下格式存储:

Row(LastUpdate=u'2016-03-14 12:27:55.01', Count=1)
Row(LastUpdate=u'2016-02-18 11:56:54.613', Count=1)
Row(LastUpdate=u'2016-04-13 13:53:32.697', Count=1)
Row(LastUpdate=u'2016-02-22 17:43:37.257', Count=5)

但我想将数据存储在 Hive 表中

LastUpdate                           Count

2016-03-14 12:27:55.01                   1
.                                        .
.                                        .

这是我在 Hive 中创建表的方式:

CREATE TABLE Data_Count(LastUpdate string, Count int )
ROW FORMAT DELIMITED fields terminated by '|';

我尝试了很多选项,但都没有成功。请帮我解决这个问题。

【问题讨论】:

【参考方案1】:

为什么不将数据加载到 Hive 本身,而不经过保存文件然后将其加载到 hive 的过程。

from datetime import datetime, date, time, timedelta
hiveCtx = HiveContext(sc)

#Create sample data
currTime = datetime.now()
currRow = Row(LastUpdate=currTime)
delta = timedelta(days=1)
futureTime = currTime + delta
futureRow = Row(LastUpdate=futureTime)
lst = [currRow, currRow, futureRow, futureRow, futureRow]

#parallelize the list and convert to dataframe
myRdd = sc.parallelize(lst)
df = myRdd.toDF()
df.registerTempTable("temp_t")
aggRDD = hiveCtx.sql("select LastUpdate,Count(1) as Count from temp_t group by LastUpdate")
aggRDD.saveAsTable("Data_Count")

【讨论】:

谢谢,使用相同的方法..但数据存储为 2016-03-14 12:27:55.01 1 2016-02-18 11:56:54.613 1 不是表格格式.. . 列名,我不能像我们在表 ex 上那样查询:dl 命令 能否请您发布一个在这里不起作用的示例 dl 命令?【参考方案2】:

您创建了一个表格,现在您需要用您生成的数据填充它。

我相信这可以从 Spark HiveContext 运行

LOAD DATA INPATH '/apps/hive/warehouse/Count' INTO TABLE Data_Count

或者,您可能希望在数据上构建一个表

CREATE EXTERNAL TABLE IF NOT Exists Data_Count(
    LastUpdate DATE, 
    Count INT
   ) 
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS TEXTFILE
LOCATION '/apps/hive/warehouse/Count';

【讨论】:

我将结果存储到 spark 中的一个变量(例如:result)中,运行上述查询后,当我执行 result.show()...数据以管道作为分隔符显示在 2 列中时。是的,我做了“LOAD DATA INPATH '/apps/hive/warehouse/Count' INTO TABLE Data_Count”,但结果在一列“LastUpdate”下显示日期和计数,而另一列“Count”显示为 NULL。 当你显示一个 RDD 时,它会用管道格式化。它不会使用管道将数据保存到文本文件中。您可以对 HDFS 文件进行分类以检查实际的分隔符。您在第二列中得到空值,因为所有内容都被推到第一列 您好,已检查..它由“,”分隔,当我相应地更改您的查询并现在执行时,我将两列都设为 NULL

将数据从 CSV 文件映射到 HDFS 上的 Hive 表时出错

】将数据从CSV文件映射到HDFS上的Hive表时出错【英文标题】:ErrorwhilemappingthedatafromCSVfiletoaHivetableonHDFS【发布时间】:2019-02-1413:35:24【问题描述】:我正在尝试按照以下步骤将数据框加载到Hive表中:读取源表并将数据帧保存为HDFS... 查看详情

将 Spark RDD 作为文本文件写入 S3 存储桶

】将SparkRDD作为文本文件写入S3存储桶【英文标题】:WritingSparkRDDastextfiletoS3bucket【发布时间】:2016-09-0422:22:17【问题描述】:我正在尝试将SparkRDD作为压缩文本文件(或多个文本文件)保存到S3存储桶。S3存储桶安装到dbfs。我正... 查看详情

使用 HDFS 存储的 Spark 作业

...运行了一个长期运行的SparkStructuredStreamingJob,它使用Kafka作为源和接收器。我还将检查点保存在GoogleCloudStorage中。运行一周后,我注意到它正在稳步消耗所有100GB磁盘存储,将文件保存到 查看详情

如何将巨大的熊猫数据框保存到 hdfs?

】如何将巨大的熊猫数据框保存到hdfs?【英文标题】:Howtosaveahugepandasdataframetohdfs?【发布时间】:2018-05-0317:31:53【问题描述】:我正在使用pandas和spark数据框。数据帧总是非常大(>20GB),标准的火花函数不足以满足这些大小... 查看详情

使用 thriftserver 和直线错误将数据从 hdfs 加载到 spark2.1 表中

】使用thriftserver和直线错误将数据从hdfs加载到spark2.1表中【英文标题】:loaddatafromhdfsintospark2.1tableusingthriftserverandbeelineerror【发布时间】:2018-01-3121:25:44【问题描述】:我的开发环境是:spark版本:2.1.0(spark-2.1.0-bin-hadoop2.7)jdk:1.7ha... 查看详情

spark学习笔记4:数据读取与保存

Spark对很多种文件格式的读取和保存方式都很简单。Spark会根据文件扩展名选择对应的处理方式。Spark支持的一些常见文件格式如下: 1、文本文件   使用文件路径作为参数调用SparkContext中的textFile()函数,就可以读取一个文... 查看详情

如何使用上下文表作为模式将文本文件保存到配置单元

...格式(word和pdf)的项目报告。这些文件包含我要提取的数据;比如引用、关键词、提到的名字......我想用Apachespark处理这些文件并将结果保存到hive,使用数据框的力量(使用上下文表 查看详情

Spark 使用 Python:将 RDD 输出保存到文本文件中

】Spark使用Python:将RDD输出保存到文本文件中【英文标题】:SparkusingPython:saveRDDoutputintotextfiles【发布时间】:2015-12-0411:17:10【问题描述】:我正在使用python在spark中尝试字数问题。但是当我尝试使用.saveAsTextFile命令将输出RDD保存... 查看详情

如何将位于 HDFS 上的类型安全配置文件添加到 spark-submit(集群模式)?

...5:09【问题描述】:我有一个Spark(Spark1.5.2)应用程序,可将数据从Kafka流式传输到HDFS。我的应用程序包含两个Typesaf 查看详情

从 HIVE 表加载到 HDFS 作为 AVRO 文件

】从HIVE表加载到HDFS作为AVRO文件【英文标题】:LoadfromHIVEtableintoHDFSasAVROfile【发布时间】:2014-07-1511:00:49【问题描述】:我想从HIVE表中加载一个文件到HDFS(作为.avro文件)。目前,我可以将表作为文件从HIVE移动到HDFS,但我无法... 查看详情

将数据变量从 matlab 保存到 csv 或文本文件

】将数据变量从matlab保存到csv或文本文件【英文标题】:Savedatavariablesfrommatlabtoacsvortextfile【发布时间】:2015-03-3001:17:23【问题描述】:我有一个for循环,用于循环k次迭代,每次我将迭代的输出保存到变量中时,请参见下面的代... 查看详情

将使用 Python 从 Twitter 检索到的数据保存到文本文件中?

】将使用Python从Twitter检索到的数据保存到文本文件中?【英文标题】:SavingDataretrievedfromTwitterutilizingPythontoatextfile?【发布时间】:2012-05-0202:23:03【问题描述】:大家好,我目前正在做一些研究,并正在使用twitterapi来收集信息。... 查看详情

如何使用 Xamarin 表单和 C# 将 Html 数据从网站保存到文本文件

】如何使用Xamarin表单和C#将Html数据从网站保存到文本文件【英文标题】:HowtoSaveHtmldatafromawebsitetoatextfileusingXamarinformsandC#【发布时间】:2021-12-0411:19:18【问题描述】:我正在使用C#和Xamarin表单来创建一个电话应用程序,该应用程... 查看详情

使用 jquery/javascript 将数据从 html 表单保存到文本文件

】使用jquery/javascript将数据从html表单保存到文本文件【英文标题】:Savingadatafromhtmlformtotextfilewithjquery/javascript【发布时间】:2014-12-1010:02:19【问题描述】:我正在尝试为我的网站创建一个cmets选项卡并插入一个HTML表单。到目前为... 查看详情

spark学习笔记——数据读取和保存

spark所支持的文件格式 1.文本文件在Spark中读写文本文件很容易。当我们将一个文本文件读取为RDD时,输入的每一行都会成为RDD的一个元素。也可以将多个完整的文本文件一次性读取为一个pairRDD,其中键是文件名,值是文件... 查看详情

使用列值作为文件名来保存 spark 数据框

】使用列值作为文件名来保存spark数据框【英文标题】:Usingcolumnvaluesasfilenamestosavesparkdataframe【发布时间】:2020-01-2218:24:20【问题描述】:如何使用列值作为文件名将spark数据框保存到文件中。有可能吗?+--------------------------+----... 查看详情

Spark:广播对象时内存不足

...,但仍然出现相同的错误。memory.fraction设置为0.3,缓存的数据也不多(小于1G) 查看详情

Scinillanet,如何将其文本保存到文件中?

...udio在C#中编写代码编辑器,并在我的程序中使用scintillaNET作为文本编辑器,现在我希望用户能够将文本从编辑器保存到文件中。如果我使用RichTextBox,保存文件的代码是:richTextBox 查看详情