2016-07-25 4 views
1

SnappyData v.0-5私が午前問題は私のJDBC接続の表のメタデータおよびパルスWebアプリケーションは、私が作成した表が表示されないということですの表は、JDBCに表示または

をパルスしていません以下。

シェルとcsvファイルを使用してSnappyDataでテーブルを作成します。

データはこちら(roads.csv)です:

"roadId","name" 
"1","Road 1" 
"2","Road 2" 
"3","Road 3" 
"4","Road 4" 
"5","Road 5" 
"6","Road 6" 
"7","Road 7" 
"8","Road 8" 
"9","Road 9" 
"10","Road 10" 

============================== ============================

snappy> CREATE TABLE STAGING_ROADS 
(road_id string, name string) 
USING com.databricks.spark.csv 
OPTIONS(path '/home/ubuntu/data/example/roads.csv', header 'true'); 


snappy> select * from STAGING_ROADS 

Returns 10 rows. 

私はSnappyData JDBCコネクションを持っている

(DbVisualizerの& SquirrelSQLは同じ見せます)。 メタデータの「テーブル」リストにそのテーブルが表示されません。 しかし、私は「select * from STAGING_ROADS」をしています。

CLOBを使用して10行を返しますが、これは完全に使用できません。

road_id |  name 
===================== 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 
CLOB  CLOB 

第2に、パルスウェブアプリケーションは、スナップ>シェルからテーブルを作成したときに登録しません。しかし、JDBCクライアントからCREATE TABLEコマンドを実行すると、上に表示されます。

私は間違って何かしていますか?どのように私はスナップ>シェルで作成したテーブルについてのメタデータをJDBCとPulseにも表示できますか?

答えて

1

Spark.csvがデータ​​ソースであるSQLを使用してテーブルを作成したとは思われませんでした。関連するJIRA - https://jira.snappydata.io/browse/SNAP-416です。

私たちは、スパークジョブを使用してデータを並行して読み込むことを提案してきました。あなたはspark-shellを使ってもこれを行うことができます。

 stagingRoadsDataFrame = snappyContext.read 
     .format("com.databricks.spark.csv") 
     .option("header", "true") // Use first line of all files as header 
     .option("inferSchema", "true") // Automatically infer data types 
     .load(someFile) 
// Save Dataframe as a Row table 
     stagingRoadsDatFrame.write.format("row").options(props).saveAsTable("staging_roads") 

前記、あなたは(おそらくこれはうまくいくかもしれない)を試みることができる -

CREATE TABLE STAGING_ROADS (road_id varchar(100), name varchar(500)) 

注SQLでデータ型として何 'string' が存在しないこと。デフォルトでは、最大長を知らずに、これをCLOBに変換します。私たちはこの問題を解決するためにも取り組んでいます。

+0

これは、まだroad_idのCLOBを示しています。 CREATE TABLE STAGING_ROAD (road_id varchar(64)、名前文字列) USING com.databricks.spark.csv オプション(パス '/home/ubuntu/data/example/roads.csv'、ヘッダー 'true'); – Jason

2

私が抱えている問題は、私のJDBC接続のテーブルメタデータとPulse Web Appに、以下で作成したテーブルが表示されないということです。

これは既知の問題です(https://jira.snappydata.io/browse/SNAP-303)。 JDBCメタデータには、ストア内の項目のみが表示され、外部表は表示されません。メタデータの問題が追跡されている間、Pulse webappはsnappydataストアを監視するように設計されているため、このような外部テーブルを参照することはできません。

注:「CREATE TABLE」DDLが、店舗外のソースの「CREATE EXTERNAL TABLE」(https://github.com/SnappyDataInc/snappydata/pull/311)に変更されています。

私はsnappy>シェルで作成したテーブルに関するメタデータをJDBCとPulseにも表示する方法を教えてください。

内部SnappyDataソース:列テーブルと行テーブルに表示されます。 USING内の他のプロバイダについては、前述のように表示されません。

通常、CSVテーブルは、@ jagsrで提供されている例のように、カラムテーブルまたはローテーブルにデータをロードする場合にのみ便利です。

関連する問題