質問編集履歴

1 一部記述内容を修正

toro-rosso

toro-rosso score 5

2018/06/25 19:31  投稿

DataFrameからSQLで値のみを取得する方法
お世話になっております。
YYYYMMDDでパーティション分割したデータがあります。
これを DataFrame に登録してパーティションの情報をSQLで取得し、
パーティション情報をリストとして後続の処理で利用したいと考えています。
```
#読み込み
partitioninfo = spark.read.csv(PartitionPath, header=False, encoding='utf-8', sep="\t")
#SQLアクセスのため一時テーブルへ
dfPartitionInfo.registerTempTable("partition_info")
#SQLでリスト抽出
partitionList=sqlContext.sql("select distinct p_ymdh from partition_info where p_ymd >= '" + BeforeYmd + "' and p_ymdh <= '" + AfterYmd + "'" )
partitionList=sqlContext.sql("select distinct p_ymd from partition_info where p_ymd >= '" + BeforeYmd + "' and p_ymd <= '" + AfterYmd + "'" )
#ループ処理
for Part in partitionList:
   ・・・・・
   ・・・・・
```
上の方法で定義したデータを show でみると以下のように登録されているのですが、
値のみを取得する方法がわかりません。
```
>>> partitionList.show()
+--------------+  <-- 不要
|       p_ymd|  <-- 不要
|       p_ymd |  <-- 不要
+--------------+  <-- 不要
|20180401000000|  <-- 値のみ必要
|20180402000000|  <-- 値のみ必要
|20180403000000|  <-- 値のみ必要
|20180404000000|  <-- 値のみ必要
|20151001000000|  <-- 値のみ必要
|20160401000000|  <-- 値のみ必要
+--------------+
```
値だけを取得する方法をご教示いただきたく、お願いいたします。
SQLを使っていますが、要件が満たせるのであればSQLの利用にはこだわっていません。
よろしくお願いいたします。
  • Python 3.x

    12436 questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • SQL

    3486 questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

  • Spark

    44 questions

    Spark(Apache Spark)とは、膨大なデータを迅速、柔軟に分散並行処理を行うフレームワークです。分析ツールであるApache Hadoopと比較し、最大で100倍の速度でデータ処理ができるとされています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る