我在Windows 7上安装了python 2.7.0和Teradata模块.我无法从python连接和quyey TD.
__PRE__
现在我想使用Python导入teradata模块并执行如下操作:
请帮我编写代码,因为我是Python新手,并且我没有可用的信息来连接到teradata.
我是 azure databricks 的新手,并尝试创建一个指向 Azure Data Lake Storage (ADLS) Gen-2 位置的外部表。
从 databricks 笔记本中,我尝试为 ADLS 访问设置 spark 配置。我仍然无法执行创建的 DDL。
注意:对我有用的一种解决方案是将 ADLS 帐户安装到集群,然后使用外部表的 DDL 中的安装位置。但是我需要检查是否可以使用没有安装位置的 ADLS 路径创建外部表 DDL。
# Using Principal credentials
spark.conf.set("dfs.azure.account.auth.type", "OAuth")
spark.conf.set("dfs.azure.account.oauth.provider.type", "ClientCredential")
spark.conf.set("dfs.azure.account.oauth2.client.id", "client_id")
spark.conf.set("dfs.azure.account.oauth2.client.secret", "client_secret")
spark.conf.set("dfs.azure.account.oauth2.client.endpoint",
"https://login.microsoftonline.com/tenant_id/oauth2/token")
Run Code Online (Sandbox Code Playgroud)
数据线
create external table test(
id string,
name string
)
partitioned by (pt_batch_id bigint, pt_file_id integer)
STORED as parquet
location 'abfss://container@account_name.dfs.core.windows.net/dev/data/employee
Run Code Online (Sandbox Code Playgroud)
收到错误
Error in SQL statement: AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Got exception: shaded.databricks.v20180920_b33d810.org.apache.hadoop.fs.azurebfs.contracts.exceptions.ConfigurationPropertyNotFoundException Configuration property account_name.dfs.core.windows.net not found.);
Run Code Online (Sandbox Code Playgroud)
我需要帮助知道这是否可以直接在 DDL …
我有一种情况,我想在spark的日期列中添加月份,该日期列DataFrame具有两列的数据类型(Date,Int)
例如
df.show()
Run Code Online (Sandbox Code Playgroud)
df.show()
Run Code Online (Sandbox Code Playgroud)
我想添加一个新列,该列将有一个新日期(向现有日期添加月份之后),输出将如下所示-
data_date months_to_add
2015-06-23 5
2016-07-20 7
Run Code Online (Sandbox Code Playgroud)
我已经尝试了下面的代码,但是它似乎没有用-
df = df.withColumn("new_data_date", a
dd_months(col("data_date"), col("months_to_add")))
Run Code Online (Sandbox Code Playgroud)
它给我错误-
data_date month_to_add new_data_date
2015-06-23 5 2015-11-23
2016-07-20 1 2016-8-20
Run Code Online (Sandbox Code Playgroud)
如果有什么方法可以实现而不在数据框顶部使用SQL查询,请帮助我。
我正在 teradata 14.0 中执行以下查询
SELECT oreplace(CAST(RULE_ID AS VARCHAR(1000)),' ','') RULE_ID,
oreplace(CAST(PHASE_ID AS VARCHAR(1000)),' ','') PHASE_ID,
oreplace(CAST(TARGET_TABLE_NAME AS VARCHAR(1000)),' ','') TARGET_TABLE_NAME,
oreplace(CAST(AUDIT_TABLE_NAME AS VARCHAR(1000)),' ','') AUDIT_TABLE_NAME,
oreplace(CAST(PROC_NAME AS VARCHAR(1000)),' ','') PROC_NAME,
oreplace(CAST(ACTIVE_START_DT AS VARCHAR(1000)),' ','') ACTIVE_START_DT,
oreplace(CAST(ACTIVE_END_DT AS VARCHAR(1000)),' ','') ACTIVE_END_DT,
oreplace(CAST(ACTIVE_IND AS VARCHAR(1000)),' ','') ACTIVE_IND,
oreplace(CAST(WRITE_AUDIT_IND AS VARCHAR(1000)),' ','') WRITE_AUDIT_IND,
oreplace(CAST(SCENARIO_TYPE AS VARCHAR(1000)),' ','') SCENARIO_TYPE,
oreplace(CAST(RULE_ORDER AS VARCHAR(1000)),' ','') RULE_ORDER
FROM table
Run Code Online (Sandbox Code Playgroud)
当我执行此查询时,收到 9804(响应行大小溢出)。
使用的字符集:ASCII
python ×2
teradata ×2
apache-spark ×1
azure ×1
connection ×1
databricks ×1
hive ×1
odbc ×1
pyspark ×1