2017-03-23 1 views
0

La commande ci-dessous fonctionne correctement. SELECT TO_TIMESTAMP (ts, 'aaaaMMjjHHmmss') DE dfs.tmp`/MAPR/my.cluster.com/ruche/cpf_sales.jsonApache Drill: Créer une erreur de table lors de la sélection à partir de données JSON

Mais quand je suis en train de créer une table de l'instruction select il est donner une erreur. Ci-dessous sont ceux que j'ai essayé

ALTER SESSION SET store.format = 'json'; utilise dfs;

CREATE TABLE by_yr (gen_date) COMME SELECT TO_TIMESTAMP (ts, 'aaaaMMddHHmmss') FROM dfs. /mapr/my.cluster.com/hive/cpf_sales.json LIMIT 100;

Erreur: org.apache.drill.common.exceptions.UserRemoteException: parse ERREUR: Rencontrés ";" à la ligne 1, colonne 8. Attendait l'un de: "." ... "[" ... La requête SQL utilise dfs;^CREATE TABLE by_yr (gen_date) COMME SELECT TO_TIMESTAMP (ts, 'aaaaMMdjHHmmss') FROM dfs. /mapr/my.cluster.com/hive/cpf_sales.json LIMIT 100 [ID d'erreur: 81cbe394-b3c6-4c34-80ad-83325f748ae1 sur iot3: 31010]

utilisez dfs.tmp;

CREATE TABLE by_yr (gen_date) AS SELECT TO_TIMESTAMP (ts, 'aaaaMMjjHHmmss') à partir de dfs.tmp /mapr/my.cluster.com/hive/cpf_sales.json LIMIT 100;

Erreur: org.apache.drill.common.exceptions.UserRemoteException: parse ERREUR: Rencontrés ";" à la ligne 1, colonne 12. Attendait l'un de: "." ... "[" ... Requête SQL utilise dfs.tmp;^SELECT COLUMNS [0], COLUMNS [1] à partir de dfs.tmp. /mapr/my.cluster.com/donuts.json [Erreur Id: 5e9d1d20-a804-4d09-8b69-d76b3c009647 sur iot2: 31010]

Répondre

0

Pouvez-vous essayer de mettre des guillemets simples autour de la trajectoire tels que:

ALTER SESSION SET store.format='json'; use dfs; 

CREATE TABLE by_yr (gen_date) AS 
SELECT TO_TIMESTAMP(ts,'yyyyMMddHHmmss') 
FROM dfs.'/mapr/my.cluster.com/hive/cpf_sales.json' LIMIT 100; 
+0

encore son ne fonctionne pas. Erreur: org.apache.drill.common.exceptions.UserRemoteException: ERREUR PARSE: rencontre ";" à la ligne 1, colonne 38. Attendait l'un de: ... "UESCAPE" ... Requête SQL ALTER SESSION SET store.format = 'json';^utilise dfs; CREATE TABLE by_yr (gen_date) COMME SELECT TO_TIMESTAMP (ts, 'aaaaMMddHHmmss') FROM dfs. '/ Mapr/mon.cluster.com/hive/cpf_sales.json' LIMIT 100 –

0

Cela fonctionne

CREATE TABLEAU myHDFS.testdata.`/xuser/sample2.json` AS SELECT * FROM myHDFS.testdata.`sample.json`

avec une configuration de stockage

"testdata": { "location": "/ dir/data/test", "inscriptible": true, "defaultInputFormat": "JSON" },