Ich erstellte eine Tabelle in Hive und die geladenen Daten aus externen CSV-Datei. Wenn ich versuche, die Daten von Python zu drucken, bekomme ich wie" ['\ x00 "\ x00m \ x00e \ x00s \ x00s \ x00a \ x00g \ x00e \ x00" \ x00'] ". Wenn ich Hive GUI abfrage, sind die Ergebnisse korrekt. Bitte sagen Sie mir, wie ich die gleichen Ergebnisse über erhalten kann . python-ProgrammHive-Abfrage von Python-Programm gibt Ausgabe wie "x00e x00" x00 "
Mein python-Code:
import pyhs2
with pyhs2.connect(host='192.168.56.101',
port=10000,
authMechanism='PLAIN',
user='hiveuser',
password='password',
database='anuvrat') as conn:
with conn.cursor() as cur:
cur.execute('SELECT message FROM ABC_NEWS LIMIT 5')
print cur.fetchone()
Ausgang ist:
/usr/bin/python2.7 /home/anuvrattiku/SPRING_2017/CMPE239/Facebook_Fake_news_detection/code_fake_news/code.py
['\x00"\x00m\x00e\x00s\x00s\x00a\x00g\x00e\x00"\x00']
Process finished with exit code 0
Wenn ich die gleiche Tabelle in Hive abfragen, erhalte ich die folgende Ausgabe:
Dies ist, wie ich die Tabelle erstellt:
CREATE TABLE ABC_NEWS(
ID STRING,
PAGE_ID INT,
NAME STRING,
MESSAGE STRING,
DESCRIPTION STRING,
CAPTION STRING,
POST_TYPE STRING,
STATUS_TYPE STRING,
LIKES_COUNT SMALLINT,
COMMENTS SMALLINT,
SHARES_COUNT SMALLINT,
LOVE_COUNT SMALLINT,
WOW_COUNT SMALLINT,
HAHA_COUNT SMALLINT,
SAD_COUNT SMALLINT,
THANKFUL_COUNT SMALLINT,
ANGRY_COUNT SMALLINT,
LINK STRING,
IMAGE_LINK STRING,
POSTED_AT STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "," ESCAPED BY '\\';
die CSV-Datei der Tabelle zum Laden ist in der Pfad unter: https://www.dropbox.com/s/fiwygyqt8u9eo5s/abc-news-86680728811.csv?dl=0
(1) Sie verwenden ein Modul, das wird nicht mehr gepflegt https://github.com/BradRuderman/pyhs2 (2) Dies ist eindeutig ein Kodierungsproblem, optional auf der hiveserver2-Seite. (3) Ich modifiziere die Post-Tags. Wenn Sie die Annahme der schrecklichen Antwort, die Sie erhalten haben, widerrufen, haben Sie möglicherweise eine Chance, eine vernünftige Antwort zu erhalten. –
@DuduMarkovitz: Hallo Dudu, bitte bieten Sie eine Lösung für das Problem –